Open zeroby0 opened 1 year ago
Further down, when compiling vmtk, I see this warning:
ld: warning: ignoring file ...../conda/envs/vmtk/lib/libpython3.10.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
Which leads me to further believe that the cmake config here is not detecting arm64 macs and building accordingly
Currently, VMTK build on Arm is not supported. Contributions are welcome.
Most likely the work has to start at looking at Arm compatibility of dependencies (ITK and VTK) and how VMTK's superbuild builds them.
We'll plan to provide 3D Slicer builds for Arm within a year and then we'll have a look at building of extensions, too. Since VMTK is used in the VMTK extension of Slicer, we may provide fixes necessary to allow Arm builds of VMTK.
Thanks for the help :)
The good news is that ITK and VTK are very likely Arm ready:
Both have binaries for Apple Silicon on homebrew.
Ah, I found the CMAKE_OSX_ARCHITECTURES "x86_64"
in the CMakeLists.txt. I'll try setting it to arm64
tomorrow and will report back how the build goes.
The entire build was successful after installing rosetta stone, and after sourcing the env file in the build/install directory, I was able to import VMTK from python 3.10.
I wish I'm able to test further and report the compatibility, but I'm extremely new to VMTK. I'm setting it up for someone else on their new laptop.
I was able to compile VMTK with "arm64", but I get a segmentation fault whenever I run anything related to vmtk, so I'm guessing it doesn't work after all. The rosetta2 build might work if you link it against an x86 python.
Yes, currently we use Rosetta 2 with x86 Python, VTK, and VMTK.
Thank you for the tip! I tried it and it worked!
For readers of the future, here's what I did:
softwareupdate --install-rosetta
)conda activate
it.conda install vmtk
I'll leave the Issue open so you can use it for tracking arm64 support, but please feel free to close it :)
I'm trying to install vmtk on an M2 Mac running MacOS Ventura. I cloned the repository, created a build directory, cd'd into it, and ran
cmake ..
and thenmake
. This is the error I get while dependency ITK is being compiled:I assume the binary built is for x86_64, or the linker is trying to link it in an x86_64 way? So I installed rosetta2 with
softwareupdate --install-rosetta
and re-ran the build. The build is still running, but ITK has been successfully built.If anyone knows of a better way to build natively on M1/M2 macs, could you please tell me about it? :)
I'm posting here instead of on itkhdf5 becuase I'm assuming cmake on this repo is configured to build for x86, but please let me know if I should be asking somewhere else instead :)
Thank you