Open sergeicu opened 3 years ago
Oh hey Serge, I also had this issue trying to run crkit (not with your docker).
I maybe figured out how to compile the .so (shared object) file
g++ -shared -o libITKNLOPTOptimizers.so libITKNLOPTOptimizers.a
The .a (static library) file was found in crkit/bin
Though now I get a new error
crlProbabilisticGMMSTAPLE: error while loading shared libraries: libnlopt.so.0: cannot open shared object file: No such file or directory
I don't have a ".a" file for this one...
Or maybe crkit should just be recompiled.
https://stackoverflow.com/questions/655163/convert-a-static-library-to-a-shared-library
Maybe my hacky solution didn't work. I installed nlopt with yum to get around the nlopt error.
yum install nlopt
ln -s /lib64/libnlopt_cxx.so.0 /lib64/libnlopt.so.0
But now...
crlProbabilisticGMMSTAPLE: symbol lookup error: /fileserver/Rad-Warfield-e2/Groups/fetalmri/software/crkit/bin/../bin/libcrlCommon.so: undefined symbol: _ZTIN3itk15NLOPTOptimizersE
I did the same ".so" compile command for libcrlCommon.so
g++ -shared -o libcrlCommon.so libcrlCommon.a
crlProbabilisticGMMSTAPLE is now running 👀
See README.md in the main folder. 30%+ of binaries cannot be executed because of 3 missing .so libraries. These need to be built into the Dockerfile. Re-run docker image and verify that all functions work (view
debug
folder for this)