sergeicu / crkit-docker

1 stars 0 forks source link

Missing shared libraries #1

Open sergeicu opened 3 years ago

sergeicu commented 3 years ago

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)

Arfentul commented 9 months 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

Arfentul commented 9 months ago

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

Arfentul commented 9 months ago

I did the same ".so" compile command for libcrlCommon.so g++ -shared -o libcrlCommon.so libcrlCommon.a crlProbabilisticGMMSTAPLE is now running 👀