Skip to content

COMP: Remove extraneous linking for VtkGlue Python#5861

Merged
blowekamp merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:vtk_python_link_interface
Mar 9, 2026
Merged

COMP: Remove extraneous linking for VtkGlue Python#5861
blowekamp merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:vtk_python_link_interface

Conversation

@blowekamp
Copy link
Copy Markdown
Member

With the improvement to use target interfaces for castxml and wrapping these options are extracted from the ITKVtkGlueModule interface and don't need to be specified again in wrapping.

The streamlining for the code was enabled by changes in #5842.

PR Checklist

  • No API changes were made (or the changes have been approved)
  • No major design changes were made (or the changes have been approved)
  • Added test (or behavior not changed)
  • Updated API documentation (or API not changed)
  • Added license to new files (if any)
  • Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
  • Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

With the improvement to use target interfaces for castxml and wrapping
these options are extracted from the ITKVtkGlueModule interface and
don't need to be specified again in wrapping.
@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 5, 2026

/azp run ITK.macOS

@github-actions github-actions Bot added type:Compiler Compiler support or related warnings type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots area:Python wrapping Python bindings for a class area:Bridge Issues affecting the Bridge module labels Mar 5, 2026
Copy link
Copy Markdown
Member

@dzenanz dzenanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cleanup looks good. CI does not test VTKGlue 😢

@blowekamp
Copy link
Copy Markdown
Member Author

Cleanup looks good. CI does not test VTKGlue 😢

There is VTKGLue enable on the dashboard, but that has had test failures for a very long time. Do you know what's going on with those?

@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 6, 2026

I have attempted multiple times to get VTKGlue building and working on my computer, unsuccessfully, so I essentially gave up. I left the options turned on.

@blowekamp
Copy link
Copy Markdown
Member Author

I think my local tests passing with VTK and python when the GUI was used is good enough.

@dzenanz We are almost to the point the expected nightly dashboard where the VTK tests failing may be the sole issue there...

@blowekamp blowekamp merged commit 9bfc81b into InsightSoftwareConsortium:main Mar 9, 2026
12 of 17 checks passed
@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 9, 2026

I will take another look.

@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 9, 2026

Shared libraries were enabled in the VTK builds, but the binary directories were not in the path. I now switched to static libraries. Let's see the dashboard tomorrow.

@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 9, 2026

Local build shows improvement after this change.

@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 10, 2026

Dashboard looks cleaner. I will take another look at still failing QuickViewTest.

@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Mar 10, 2026

The crash happens inside VTK 9.6.0, in C:\Libs\vtk-stable\Rendering\Core\vtkWindowToImageFilter.cxx on line 520. It is invoked from T:\Dashboard\ITK\Modules\Bridge\VtkGlue\include\vtkCaptureScreen.h, line 65 (Dumper->Update();). The problem seems to be that this build uses shared libraries for ITK, but static libraries for VTK. I don't know why that would be a problem, but if I switch ITK from shared to static the test passes.

@blowekamp
Copy link
Copy Markdown
Member Author

The problem seems to be that this build uses shared libraries for ITK, but static libraries for VTK. I don't know why that would be a problem,

There may be multiple ITK libraries linked to those VTK static libraries. This would create duplicate symbols in ITK stared libraries for VTK. There are potential conflicting symbol resolution that might be happening. I agree it's a bad idea to mix them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Bridge Issues affecting the Bridge module area:Python wrapping Python bindings for a class type:Compiler Compiler support or related warnings type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants