Unusual undefined references coming from arm_neon.h when compiling Open3D with CUDA

I am attempting to build Open3D using docker with CUDA enabled for the AGX Orin. I am using nvcr.io/nvidia/l4t-base:r35.1.0 as the image.

docker image:
Linux 40ad21e7359d 5.10.104-tegra #1 SMP PREEMPT Wed Aug 10 20:17:07 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux
VERSION=“20.04.4 LTS (Focal Fossa)”
host system:
Linux Artax 5.10.104-tegra #1 SMP PREEMPT Wed Aug 10 20:17:07 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux
VERSION=“20.04.5 LTS (Focal Fossa)”
build.txt (540.7 KB)

full trace: [attached]

Launch script cuda.sh: set -euo pipefailexport DOCKER_BUILDKIT=0HOST_OPEN3D_ROOT="$(cd "$(dirname - Pastebin.com
referenced from: https://github.com/isl-org/Open3D/blob/master/docker/docker_build.sh

Dockerfile.openblas : # FROM must be called before other ARGS except for ARG BASE_IMAGEARG BASE_IMAG - Pastebin.com (WIP)
referenced from: https://github.com/isl-org/Open3D/blob/master/docker/Dockerfile.openblas

partial error:
arm_neon.h(38): error: identifier “__Int8x8_t” is undefined
arm_neon.h(1072): error: identifier “__builtin_aarch64_srhaddv4hi” is undefined

I have referenced the following topics:

I took note of the Eigen 3.4.0 release notes with relation to arm_neon type support: 3.4 - Eigen (building against eigen3.4.0 does not alter the situation)

Notes:
If I build with the unit tests disabled, it completes without issue; however, the resulting binaries cause problems with various elements including errors like “[Open3D Error] (open3d::t::geometry::Image open3d::t::geometry::Image::FilterBilateral(int, float, float) const) /root/Open3D/cpp/open3d/t/geometry/Image.cpp:285: FilterBilateral with data type Float32 on device CPU:0 is not implemented!” memory warnings and full core dumps. As a result of this it has become my understanding that there is something legitimately wrong with the build environment and not the unit tests themselves.

At this juncture I am out of places to look, any ideas?

I have revised this process to include a native-built LLVM-project 11.1.0. Sadly the problem still persists.

This post suggests NVCC compilation errors on 24.2 L4T platform Tx1 - #4 that there is some compat library missing; however, I am clueless as to what that might be.

Attempted a native compile of LLVM 11.1.0 along with c++ abi and clang, Still no dice…

Updated script: set -euo pipefailexport DOCKER_BUILDKIT=0HOST_OPEN3D_ROOT="$(cd "$(dirname - Pastebin.com

Updated Dockerfile: # FROM must be called before other ARGS except for ARG BASE_IMAGEARG BASE_IMAG - Pastebin.com

i have the same proble, did you somehow solve it?

Unfortunately after a rather deep dive we discovered that there are 32bit prerequisites mixed into the project, until they are refactored Open3D will not function in its entirety on ARM 8~ processors as the neon reverse compatibility library is deprecated