geogram icon indicating copy to clipboard operation
geogram copied to clipboard

linux aarch64 support?

Open maxmadzz opened this issue 4 years ago • 2 comments

Trying to compile on the aarch64 platform, there are many errors, is there any intention to support the aarch64 platform?

maxmadzz avatar Oct 24 '20 18:10 maxmadzz

Somehow, this post makes it seem like it worked on the Jetson. I don't know how. https://forums.developer.nvidia.com/t/running-meshroom-on-2gb-jetson-nano/173469/6

duwke avatar Apr 07 '21 21:04 duwke

It does work on the Jetson. Like the commenter said, you have to create a platform for it. For example,

$ mkdir cmake/platforms/Linux64-gcc-Jetson
$ touch cmake/platforms/Linux64-gcc-Jetson/config.cmake
$ touch cmake/platforms/Linux64-gcc-Jetson/setvars.sh

Leave setvars.sh empty. In config.cmake:

include(${GEOGRAM_SOURCE_DIR}/cmake/platforms/Linux-gcc.cmake)

set(ARM_FLAGS -march=native -mcpu=cortex-a57)

add_flags(CMAKE_CXX_FLAGS -DGEO_USE_DUMMY_ATOMICS ${ARM_FLAGS})
add_flags(CMAKE_C_FLAGS -DGEO_USE_DUMMY_ATOMICS ${ARM_FLAGS})

Modify your top-level CMakeLists.txt a bit:

set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)

Modify your CMakeOptions.txt too:

set(GEOGRAM_WITH_GRAPHICS OFF)
set(GEOGRAM_WITH_TETGEN ON)

Then use Linux64-gcc-Jetson as your platform, build as usual.

tkircher avatar Apr 15 '21 22:04 tkircher