# 3D Slicer compilation under ARMv8 aarch64 (SoC RK3399)

**URL:** <https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586>\
**Category:** Support\
**Tags:** armv8\
**Created:** [July 13, 2023, 3:04pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586 "2023-07-13T15:04:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [July 13, 2023, 3:04pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/1 "2023-07-13T15:04:23Z")

</div>

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:

```auto
[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?

```auto
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

```

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [July 13, 2023, 3:11pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/2 "2023-07-13T15:11:26Z")

</div>

I only know of arm support for the new macs, which can be [compiled from source](https://github.com/Slicer/Slicer/issues/5944#issuecomment-1328179343).

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.

---

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [July 14, 2023, 12:11pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/3 "2023-07-14T12:11:32Z")

</div>

> [@pieper](#):
>
> 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](https://github.com/commontk/AppLauncher/releases/download/v0.1.31/CTKAppLauncher-0.1.31-linux-amd64.tar.gz), and it precompiled for amd64. Since there is no architecture check in [cmake](https://github.com/Slicer/Slicer/blob/main/SuperBuild/External_CTKAPPLAUNCHER.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.

---

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [July 19, 2023, 2:45pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/4 "2023-07-19T14:45:02Z")

</div>

> [@pieper](#):
>
> Let us know how it goes.

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:

 ![Slicer-output](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/3/1/3185b4652be4f9dd6f64d40d55df23075311e045.png)

Small part of console output:

```auto
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.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [July 19, 2023, 2:48pm UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/5 "2023-07-19T14:48:42Z")

</div>

Nice progress 👍

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.

---

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [August 3, 2023, 10:38am UTC](https://discourse.slicer.org/t/3d-slicer-compilation-under-armv8-aarch64-soc-rk3399/30586/6 "2023-08-03T10:38:37Z")

</div>

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.

> [@Slicer for Ubuntu arm64](https://discourse.slicer.org/t/slicer-for-ubuntu-arm64/6459):
>
> Notes on compilation efforts for compiling Slicer for arm64: Problem: VTK does not compile. Solution: Set VTK\_OPENGL\_HAS\_EGL and VTK\_OPENGL\_HAS\_ES In \<SlicerDir\>/SuperBuild/External\_VTK.cmake remove section that has -DModule\_vtkGUISupportQtOpenGL:BOOL=ON in it Edit QVTKOpenGLNativeWidget.cxx to use QOpenGLExtraFunctions instead of QOpenGLFunctions\_3\_2\_Core Problem: CTKAPPLAUNCHER is a download of amd64 Solution: Overwrite executable \<Slicer-build\>/CTKAPPLAUNCHER/bin/CTKAppLauncher with co…
