Skip to content
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

Extension package not working on Windows #42

Open
nicoleaucoin opened this issue Jul 11, 2018 · 10 comments
Open

Extension package not working on Windows #42

nicoleaucoin opened this issue Jul 11, 2018 · 10 comments

Comments

@nicoleaucoin
Copy link

nicoleaucoin commented Jul 11, 2018

On Windows10 against the Slicer trunk built with vtk9 and qt5, I can build SlicerOpenIGTLink (master) and package it into a .zip file and use the extension manager to load the extension from file, but when I restart Slicer, it can't load the modules:

Error(s):
Cannot load library C:\Users\Nicole Aucoin\AppData\Roaming\NA-MIC\Extensions-860a61b\SlicerOpenIGTLink\lib\Slicer-4.9\qt-loadable-modules\qSlicerOpenIGTLinkIFModule.dll: The specified module could not be found.
Error(s):
Cannot load library C:\Users\Nicole Aucoin\AppData\Roaming\NA-MIC\Extensions-860a61b\SlicerOpenIGTLink\lib\Slicer-4.9\qt-loadable-modules\qSlicerOpenIGTLinkRemoteModule.dll: The specified module could not be found.
Error(s):
Cannot load library C:\Users\Nicole Aucoin\AppData\Roaming\NA-MIC\Extensions-860a61b\SlicerOpenIGTLink\lib\Slicer-4.9\qt-loadable-modules\qSlicerPlusRemoteModule.dll: The specified module could not be found.

The dependent library VP9 that was built didn't get installed with CPack, that might be part of the problem. From a build directory, I can start up Slicer with the additional launcher settings file that SlicerOpenIGTLink configures and it will load the modules correctly:

Slicer.exe --launcher-additional-settings c:\path\to\SlicerOpenIGTLink-build\inner-build\AdditionalLauncherSettings.ini

@nicoleaucoin
Copy link
Author

FYI: when I add a print out at the top of CMake/SlicerBlockInstallVP9.cmake it looks like the check at the top isn't passed so the whole file is ignored:

-- SlicerblockInstallVP9: Slicer_USE_VP9 =  CMAKE_SYSTEM_NAME = Windows

@leochan2009
Copy link
Contributor

leochan2009 commented Jul 11, 2018

Hi Nicole,
Now i remember, Vp9 library is static library and in the windows system it is not needed to install in run time, see the commit message in commit

@leochan2009
Copy link
Contributor

which visual studio version are you using?

@nicoleaucoin
Copy link
Author

nicoleaucoin commented Jul 11, 2018

Visual Studio Community 2015
Version 14.0.25431.01 Update 3

@nicoleaucoin
Copy link
Author

VP9 being static makes sense for it not being installed, not sure what's missing from the extension dlls then, will try to dig in after launching a terminal with the Slicer environment set.

@leochan2009
Copy link
Contributor

en, unfortunately i don't have windows machine now, so i can not help you.
@Sunderlandkyl , did you test the extension on your machine?

@Sunderlandkyl
Copy link
Contributor

Just tried packaging it now.

The same thing happened, but I managed to fix it by copying the OpenIGTLink and OpenIGTLinkIO dlls
From - ./bin/
To - ./lib/lib/Slicer-4.9/qt-loadable-modules/

The python wrapped libraries are also in an odd location (./lib).

@leochan2009
Copy link
Contributor

@Sunderlandkyl
en.... i remember we had this issue before and it was fixed .

@nicoleaucoin
Copy link
Author

Verified that I can get my built version working by copying over those files.
Do you have an estimate of when you can fix the CMake commands for install/package for the OpenIGTLink and OpenIGTLinkIO modules so that the extension can be used on Windows? If I manage to figure it out, I'll submit a pull request but no luck so far.

@nicoleaucoin
Copy link
Author

Slicer Preview windows build here:
http://slicer.cdash.org/viewFiles.php?buildid=1318855
has the incorrect locations of the supporting dlls.

Checking the linux package from here:
http://slicer.cdash.org/viewFiles.php?buildid=1318514
It uses lib/ and lib/igtl/ for the OpenIGTLink and LinkIO library files, not sure if that would run as an installed extension either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants