3D Slicer compilation under ARMv8 aarch64 (SoC RK3399)

Have anyone tried to compile 3D Slicer from scratch under the aarch64 architecture?

I have a RockPro64 board from Pine64 vendor with a RK3399 chip. Linux distribution is the same as for x86_64 machine. I’m trying to compile the Slicer debug build from source with default parameters. Compilation process for python 3.9.10 and DCMTK packages goes without problem, but VTK package compilation unable to start.

Shell output says that PythonSlicer file has wrong file format.

Some console output:

[ 41%] Completed 'python'
[ 41%] Built target python
[ 41%] Performing update step for 'VTK'
[ 41%] No patch step for 'VTK'
[ 41%] Performing configure step for 'VTK'
loading initial cache file /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-prefix/tmp/VTK-cache-Debug.cmake
CMake Deprecation Warning at CMake/vtkWrapSettings.cmake:14 (message):
  Manually specifying `VTK_PYTHON_VERSION` is deprecated as only Python3 is
  supported.
Call Stack (most recent call first):
  CMakeLists.txt:88 (include)


-- SplineDrivenImageSlicer: Building as a Remote VTK module
-- Could NOT find Python3 (missing: Interpreter) (found suitable version "3.9.10", minimum required is "3.4")
    Reason given by package: 
        Interpreter: Cannot run the interpreter "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/bin/PythonSlicer"

CMake Error at CMake/vtkModule.cmake:4685 (message):
  Could not find the Python3 external dependency.
Call Stack (most recent call first):
  Utilities/Python/CMakeLists.txt:28 (vtk_module_find_package)


-- Configuring incomplete, errors occurred!
make[2]: *** [CMakeFiles/VTK.dir/build.make:100: VTK-prefix/src/VTK-stamp/VTK-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:700: CMakeFiles/VTK.dir/all] Error 2
make: *** [Makefile:101: all] Error 2

I’ve checked PythonSlicer binary file and the reafelf command says that it’s a x86_64 binary, instread of aarch64. How can it be under the ARM architecture?

readelf -h /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/bin/PythonSlicer
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x4120f0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          10418416 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         9
  Size of section headers:           64 (bytes)
  Number of section headers:         31
  Section header string table index: 30

I only know of arm support for the new macs, which can be compiled from source.

It looks like you will need to investigate the python build arguments to get a workable python, but probably this can be made to work. Let us know how it goes.

The problem was with the CTKAPPLAUNCHER package. The binary packages is downloaded from CTK repo, and it precompiled for amd64. Since there is no architecture check in cmake file for CTKAPPLAUNCHER and there is no build release for arm64 anyway, the simple solution was to compile AppLauncher from the source and replace binary exec file.

Compilation is in progress.

2 Likes

Good news: i’ve managed to compile successfully (the only problem was CTKAPPLAUNCHER).
Bad news: first start shows that most of modules are failed to be installed.

Screen of the first start:

Small part of console output:

michel@rockpro64:~/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build$ ./Slicer
Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "<string>", line 5, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'getSlicerRCFileName' is not defined
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/AddManyMarkupsFiducialTest.py", line 5, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/AddManyMarkupsFiducialTest.py"  as module "AddManyMarkupsFiducialTest" !
Fail to instantiate module  "AddManyMarkupsFiducialTest"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/util.py", line 131, in importVTKClassesFromDirectory
    from vtk import vtkObjectBase
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/AtlasTests.py", line 5, in <module>
    from slicer.ScriptedLoadableModule import *
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/ScriptedLoadableModule.py", line 8, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/AtlasTests.py"  as module "AtlasTests" !
Fail to instantiate module  "AtlasTests"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/BRAINSFitRigidRegistrationCrashIssue4139.py", line 4, in <module>
    from slicer.ScriptedLoadableModule import *
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/ScriptedLoadableModule.py", line 8, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/BRAINSFitRigidRegistrationCrashIssue4139.py"  as module "BRAINSFitRigidRegistrationCrashIssue4139" !
Fail to instantiate module  "BRAINSFitRigidRegistrationCrashIssue4139"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/util.py", line 131, in importVTKClassesFromDirectory
    from vtk import vtkObjectBase
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/ColorLegendSelfTest.py", line 5, in <module>
    from slicer.ScriptedLoadableModule import *
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/ScriptedLoadableModule.py", line 8, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/ColorLegendSelfTest.py"  as module "ColorLegendSelfTest" !
Fail to instantiate module  "ColorLegendSelfTest"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/util.py", line 131, in importVTKClassesFromDirectory
    from vtk import vtkObjectBase
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CompareVolumes.py", line 2, in <module>
    import vtk, qt, ctk, slicer
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CompareVolumes.py"  as module "CompareVolumes" !
Fail to instantiate module  "CompareVolumes"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/util.py", line 131, in importVTKClassesFromDirectory
    from vtk import vtkObjectBase
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CropVolumeSelfTest.py", line 2, in <module>
    from slicer.ScriptedLoadableModule import *
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/ScriptedLoadableModule.py", line 8, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CropVolumeSelfTest.py"  as module "CropVolumeSelfTest" !
Fail to instantiate module  "CropVolumeSelfTest"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CropVolumeSequence.py", line 5, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/CropVolumeSequence.py"  as module "CropVolumeSequence" !
Fail to instantiate module  "CropVolumeSequence"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOM.py", line 10, in <module>
    from slicer.ScriptedLoadableModule import *
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/bin/Python/slicer/ScriptedLoadableModule.py", line 8, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOM.py"  as module "DICOM" !
Fail to instantiate module  "DICOM"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMEnhancedUSVolumePlugin.py", line 1, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMEnhancedUSVolumePlugin.py"  as module "DICOMEnhancedUSVolumePlugin" !
Fail to instantiate module  "DICOMEnhancedUSVolumePlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMGeAbusPlugin.py", line 5, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMGeAbusPlugin.py"  as module "DICOMGeAbusPlugin" !
Fail to instantiate module  "DICOMGeAbusPlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMImageSequencePlugin.py", line 4, in <module>
    import vtk
  File "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtk.py", line 4, in <module>
    from vtkmodules.vtkCommonCore import *
ImportError: /home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/VTK-build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.cpython-39-aarch64-linux-gnu.so: undefined symbol: _ZTI23vtkSOADataArrayTemplateIdE
loadSourceAsModule - Failed to load file "/home/michel/devel/git/Slicer/Slicer-SuperBuild-Release/Slicer-build/lib/Slicer-5.3/qt-scripted-modules/DICOMImageSequencePlugin.py"  as module "DICOMImageSequencePlugin" !

It looks like some sort of problem with VTK and python.

Nice progress :+1:

Yes, it looks like a path problem. You can inspect the environment by launching a shell with the launcher (e.g. ./Slicer --launch bash) and see if the PYTHONPATH and LD_LIBRARY_PATH directories correspond to your build tree. Probably you can set them manually to get things to load. Once you have that you can see how to fix the build process to set them automatically.

I was able to compile and run 3D Slicer successfully only the Release build with gcc-13.2 compiler and enabled VTK testing. First attempt with gcc-12.2 was a failure, mainly because of vtkSOADataArrayTemplate python wrapper (linker message VTK python binding undefined symbols vtkSOADataArrayTemplate), and only one third of VTK tests were successful.

After compiler upgrade and several failed attempts (Debug build; build without VTK tests) the compilation process was finally successful and 3D Slicer first start went without errors!

Some features will not work in any case due to limitations of Mali GPU in SoC. The MRHead test data was loaded and visualized (even simple VolumeRendering) but with a lot of VTK output because of shaders.

That topic was very useful as well.

1 Like