Thank you, very much to both of you.
Yes, I saw that. It’s puzzling, because that error message only happens when TubeTK is enabled in the compilation options of CMake.
Indeed, the -ldl
has no effect. Frankly, I had removed it already, and failed to tell you about it, sorry (repo).
I could try to check which of the replacements of libdl.so
and libdl-2.9.so
(in TubeTK/CMake/TubeTKValgrind.supp
or testDynamicLoader.cxx
) is helping me. As it is, I still had to replace them in build.ninja
after running CMake.
sed -i "s%libdl[^[:space:];]*\.so[[:digit:].]*%libdl.so.2%g" "${_build_dir}"/build.ninja
At the end, I was getting some errors about Java libraries for whatever reason. If I add some paths to my LD_LIBRARY_PATH
, I can get ITK’s version in Python. I have not tested TubeTK’s functionalities, but this thread is about compilation.
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr/lib/jvm/java-8-openjdk/lib/amd64"
$ python
Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import itk; itk.auto_progress(2); itk.Version.GetITKVersion()
Loading ITKPyBase... done
Loading ITKCommon... Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/site-packages/itk/support/lazy.py", line 137, in __getattribute__
base.itk_load_swig_module(module, namespace)
File "/usr/lib/python3.10/site-packages/itk/support/base.py", line 110, in itk_load_swig_module
l_module = loader.load(swig_module_name)
File "/usr/lib/python3.10/site-packages/itk/support/base.py", line 259, in load
l_spec.loader.exec_module(l_module) # pytype: disable=attribute-error
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/itk/support/../ITKCommonPython.py", line 13, in <module>
from . import _ITKCommonPython
ImportError: libjvm.so: cannot open shared object file: No such file or directory
>>>
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr/lib/jvm/java-8-openjdk/lib/amd64:/usr/lib/jvm/java-17-openjdk/lib/server"
$ python
Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import itk; itk.auto_progress(2); itk.Version.GetITKVersion()
Loading ITKPyBase... done
Loading ITKCommon... Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/site-packages/itk/support/lazy.py", line 137, in __getattribute__
base.itk_load_swig_module(module, namespace)
File "/usr/lib/python3.10/site-packages/itk/support/base.py", line 110, in itk_load_swig_module
l_module = loader.load(swig_module_name)
File "/usr/lib/python3.10/site-packages/itk/support/base.py", line 259, in load
l_spec.loader.exec_module(l_module) # pytype: disable=attribute-error
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/itk/support/../ITKCommonPython.py", line 13, in <module>
from . import _ITKCommonPython
ImportError: libawt_xawt.so: cannot open shared object file: No such file or directory
>>>
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr/lib/jvm/java-8-openjdk/lib/amd64:/usr/lib/jvm/java-17-openjdk/lib/server:/usr/lib/jvm/java-17-openjdk/lib"
$ python
Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import itk; itk.auto_progress(2); itk.Version.GetITKVersion()
Loading ITKPyBase... done
Loading ITKCommon... done
'5.3.0'
Yes, thank you. As I was following our previous conversation (#4784), I did try to match them, and tried an earlier version, just in case. Anyway, what I do think that needs to be changed is this:
uint8.diff.gz (267 Bytes)
I’m sure that this leaves more questions than answers ! If you want me to test something, let me know. I will later formulate a question regarding the Java libraries.
Thank you again.