weixin_39900045
weixin_39900045
2020-12-09 12:35

VTK9 compatibility of VMTK, for SlicerExtension-VMTK with Qt5 Slicer

I'd like to request investigating VTK9 compatibility of VMTK, in anticipation of their stable release. The reason I'm requesting this is to be able to compile SlicerExtension-VMTK with macOS 10.12 and 10.13, which no longer support Qt4. 3D Slicer has introduced a Qt5-compatible version, but it requires VTK9. I've found that I can compile VMTK with 8.1, but I get a build error when trying it with the same VTK version as my Slicer build:


[ 37%] Performing build step for 'VMTK'
[  0%] Built target nl
[  1%] Built target vtkvmtkITK
make[5]: *** No rule to make target `/short/testing/SlicerExtension-VMTK-Build/VMTK/vtkVmtk/Utilities/vtkvmtkITK/vtkvmtkITKHierarchy', needed by `vtkVmtk/Utilities/vtkvmtkITK/vtkvmtkITKArchetypeImageSeriesReaderPython.cxx'.  Stop.
make[4]: *** [vtkVmtk/Utilities/vtkvmtkITK/CMakeFiles/vtkvmtkITKPythonD.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [VMTK-prefix/src/VMTK-stamp/VMTK-build] Error 2
make[1]: *** [CMakeFiles/VMTK.dir/all] Error 2
make: *** [all] Error 2

I've discussed this with , and he's found a similar error. He's submitted a pull request that will fix other macOS issues with SlicerExtension-VMTK, but to keep up with current Slicer development, VTK9 compatibility is needed.

该提问来源于开源项目:vmtk/vmtk

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答

  • weixin_39900045 weixin_39900045 5月前

    I've reviewed the Slicer nightly build logs, and it's not platform specific. The Qt5, VTK9 build is unsuccessful on Windows, Linux, and Mac.

    点赞 评论 复制链接分享
  • weixin_39831001 weixin_39831001 5月前

    Thanks for opening this issue , I just merged https://github.com/vmtk/SlicerExtension-VMTK/pull/14, but will have to look into this for VTK 9 compatibility. I should have some time this weekend to check it out, and will update you here.

    sorry about the delayed reply, been I've been extremly busy these past few weeks.

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Excellent, thank you very much for looking into this. I appreciate it.

    点赞 评论 复制链接分享
  • weixin_39831001 weixin_39831001 5月前

    Hi , I was able to compile base VMTK with the VTK master branch successfully on MacOS 10.13 with both python 3.6 and 2.7. All tests pass. Are you using the VMTK Superbuild project to build VTK and ITK from source, or a pre-built version of the VTK master branch?

    To build the VMTK superbuild project using VTK master (just as a test) comment out the following line.

    https://github.com/vmtk/vmtk/blob/master/SuperBuild.cmake#L124

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Hi , thanks for investigating. I just tried it with a clean build, with ITK and VTK built from source, with the line you identified commented out so that VTK master is used (commit c2d16d339385bf2f7dc51981fb34b854770eb7e9, for reference). I still get the same error as before. Which Python 2.7 revision did you use? I'm using the system installation for macOS 10.12, which is 2.7.10. The Slicer CDash page has the testing record for SlicerVMTK, and the Mac the tests are performed with gets the same error. That machine is macOS 10.11.6: http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=VMTK&date=2018-06-13

    I'm starting to suspect the Python version because the failure is when attempting to Python wrap vtkvmtkITK:

    
    Scanning dependencies of target vtkvmtkITK
    [  1%] Building CXX object vtkVmtk/Utilities/vtkvmtkITK/CMakeFiles/vtkvmtkITK.dir/vtkvmtkITKArchetypeImageSeriesReader.cxx.o
    [  1%] Building CXX object vtkVmtk/Utilities/vtkvmtkITK/CMakeFiles/vtkvmtkITK.dir/vtkvmtkITKArchetypeImageSeriesScalarReader.cxx.o
    [  1%] Building CXX object vtkVmtk/Utilities/vtkvmtkITK/CMakeFiles/vtkvmtkITK.dir/vtkvmtkITKImageWriter.cxx.o
    [  1%] Linking CXX shared library ../../../bin/libvtkvmtkITK.dylib
    [  1%] Built target vtkvmtkITK
    [  1%] Python Wrapping - generating vtkvmtkITKPythonInit.cxx
    make[5]: *** No rule to make target `/short/testing/vmtk/vtkVmtk/Utilities/vtkvmtkITK/vtkvmtkITKHierarchy', needed by `vtkVmtk/Utilities/vtkvmtkITK/vtkvmtkITKArchetypeImageSeriesReaderPython.cxx'.  Stop.
    make[4]: *** [vtkVmtk/Utilities/vtkvmtkITK/CMakeFiles/vtkvmtkITKPythonD.dir/all] Error 2
    make[3]: *** [all] Error 2
    make[2]: *** [Stamp/VMTK/VMTK-build] Error 2
    make[1]: *** [CMakeFiles/VMTK.dir/all] Error 2
    make: *** [all] Error 2
    
    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Hi , I'm going to try some earlier VTK 9.0.0 commits to see if I can track down when the problems with macOS 10.11 and 10.12 appeared. However, if VMTK seems to compile with VTK9 and macOS 10.13, can I request changes to the VMTK CMake configuration options, to be able to choose VTK9 from there? Right now there is on/off for VMTK_USE_VTK8, where off builds with VTK7. Can there be configuration options to build with the most recent VTK9? Thanks.

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Hi , I've narrowed down the timeframe in which the VTK changes produce a VMTK compilation problem. The last VTK9 revision that results in a successful VMTK build was merged into master on Dec 13, 2017: c96fe3bca6bdb7df83252f8a443d8e0428cab956, "Merge branch 'upstream-expat' into update-expat". The commit that follows it deals with vtkWrapHierarchy. https://github.com/Kitware/VTK/commits/master?after=ab077d8e0914a5f24ca0541c30efbc5070b4fcac+1889 The last revisions on Dec 13 and 14 have problems compiling VTK itself, and the last revision on Dec 15 has the vtkVmtkITK compile error that persists from that point on. Does this provide any hints as to the cause?

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Also, the Slicer CDash page shows that VMTK isn't compiling with VTK9 for Windows and two types of Linux, as well as macOS 10.11 and 10.12. If it's compiling with macOS 10.13, is there a version of the other systems that work? http://slicer.cdash.org/index.php?project=SlicerPreview&date=2018-06-12&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=VMTK

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    This issue will be resolved by accepting PR https://github.com/vmtk/vmtk/pull/313. All CI checks now pass.

    点赞 评论 复制链接分享
  • weixin_39900045 weixin_39900045 5月前

    Thank you!

    点赞 评论 复制链接分享

相关推荐