-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SlicerRT deployment fails on Linux #262
Comments
Hi Csaba, sure, I can take a look at this. If I understand correctly, this issue must be similar to this comment by @lassoan: https://discourse.slicer.org/t/loadable-module-with-external-binary-dependencies/40667/2 But in this case, I am not sure we should add a build step that copies the .so into the qt-loadable-module folder, or whether we should instead try to set the RPATH variable and leave the .so file where it is. Or maybe we need sth along: https://github.com/Slicer/Slicer/blob/f711b40bb6c530f1c99937536d139fee6650dace/SuperBuild/External_VTK.cmake#L223 ? |
Yes it is similar but the problem here is that it is deployed but not quite in the right location. I'd try to find what determines the folder where it is copied at packaging. On windows it works well I think (wouldn't swear on my life, I'll check) so there may be an |
If I modify by hand the ExternalProjectAdd command then the .so file is output where it's indicated, but linking later on fails:
Wouldn't it make more sense that Slicer includes by default Slicer_THIRDPARTY_LIB_DIR also to the search path of .so ? Why should everything go into qt-loadable-modules? The way you solved this for Windows was to add this to SlicerRt main CMakeLists:
|
Maybe setting this variable would help? https://github.com/Slicer/Slicer/blob/f711b40bb6c530f1c99937536d139fee6650dace/CMake/SlicerCPack.cmake#L187C20-L187C53 For some reason I cannot test this, since "make package" generates a corrupt 29-bytes tgz file for me.
|
If the CMakeLists.txt files of the external library are properly written then linking and installation of the libraries woek well on all platforms without any extra build or installation steps. See for example how IGSIO or OpenIGTLink libraries are built and packaged with Slicer modules (SlicerIGSIO and SlicerOpenIGTLink extensions). You probably also want to make your library pip-installable outside of Slicer - in this case you can use vtkAddon library as an example. If @jcfr attends the project week in person then it would be a good opportunity to ask help from him. |
See this forum comment: https://discourse.slicer.org/t/segment-statistics-module-on-3d-slicer-5-6-2/40714/8?u=cpinter
Basically the vtkIECTransformLogic binary is deployed to its own directory instead of
Slicer-5.7/qt-loadable-modules
.@ferdymercury Since you worked on this on Linux, can you please take a look at this problem? Please let me know if you cannot for some reason. Thank you!
The text was updated successfully, but these errors were encountered: