Open manbehindthemadness opened 1 year ago
We have only tested the ARM build on Ubuntu, the dependencies may be different for Debian.
Depending on your use case, one thing you may try is to build using Docker (https://github.com/isl-org/Open3D/tree/master/docker). The Docker ARM build is tested on our CI regularly. For example,
./docker_build.sh openblas-arm64-py38-dev
By default, it will create a wheel file in the host folder. You may also change the docker_build.sh
script to extract the compiled C++ library as well.
Thanks, I'll give it a spin and see what happens I'm just trying to compile rtabmap against it
No dice unfortunatly.
Setting up libhx509-5-heimdal:arm64 (7.5.0+dfsg-1ubuntu0.1) ... Setting up libgcc-7-dev:arm64 (7.5.0-3ubuntu1~18.04) ... Setting up cpp-7 (7.5.0-3ubuntu1~18.04) ... Setting up libstdc++-7-dev:arm64 (7.5.0-3ubuntu1~18.04) ... Setting up libperl5.26:arm64 (5.26.1-6ubuntu0.6) ... Setting up binutils-aarch64-linux-gnu (2.30-21ubuntu1~18.04.7) ... Setting up gpgsm (2.2.4-1ubuntu1.6) ... Setting up gnupg-utils (2.2.4-1ubuntu1.6) ... Setting up pinentry-curses (1.1.0-1) ... Setting up libkrb5-3:arm64 (1.16-2ubuntu0.2) ... Setting up binutils (2.30-21ubuntu1~18.04.7) ... Setting up libkrb5-26-heimdal:arm64 (7.5.0+dfsg-1ubuntu0.1) ... Setting up libheimntlm0-heimdal:arm64 (7.5.0+dfsg-1ubuntu0.1) ... Setting up gpg (2.2.4-1ubuntu1.6) ... Setting up cpp (4:7.4.0-1ubuntu2.3) ... Setting up gcc-7 (7.5.0-3ubuntu1~18.04) ... Setting up g++-7 (7.5.0-3ubuntu1~18.04) ... Setting up gpg-agent (2.2.4-1ubuntu1.6) ... Setting up gcc (4:7.4.0-1ubuntu2.3) ... Setting up gpg-wks-server (2.2.4-1ubuntu1.6) ... Setting up libgssapi-krb5-2:arm64 (1.16-2ubuntu0.2) ... Setting up perl (5.26.1-6ubuntu0.6) ... Setting up libfile-fcntllock-perl (0.22-3build2) ... Setting up libalgorithm-diff-perl (1.19.03-1) ... Setting up g++ (4:7.4.0-1ubuntu2.3) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist Setting up libgssapi3-heimdal:arm64 (7.5.0+dfsg-1ubuntu0.1) ... Setting up openssh-client (1:7.6p1-4ubuntu0.7) ... Setting up liberror-perl (0.17025-1) ... Setting up libdpkg-perl (1.19.0.5ubuntu2.4) ... Setting up libalgorithm-merge-perl (0.08-3) ... Setting up dpkg-dev (1.19.0.5ubuntu2.4) ... Setting up libalgorithm-diff-xs-perl (0.04-5) ... Setting up libldap-2.4-2:arm64 (2.4.45+dfsg-1ubuntu1.11) ... Setting up dirmngr (2.2.4-1ubuntu1.6) ... Setting up build-essential (12.4ubuntu1) ... Setting up libcurl3-gnutls:arm64 (7.58.0-2ubuntu3.21) ... Setting up gpg-wks-client (2.2.4-1ubuntu1.6) ... Setting up git (1:2.17.1-1ubuntu0.13) ... Setting up gnupg (2.2.4-1ubuntu1.6) ... Processing triggers for libc-bin (2.27-3ubuntu1.6) ... Removing intermediate container 5d110c2a1174 ---> 8543d208759e Step 14/29 : ENV PATH="/root/miniconda3/bin:${PATH}" ---> Running in f39eac8abf91 Removing intermediate container f39eac8abf91 ---> f316a92a83d4 Step 15/29 : RUN wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh && bash Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh -b && rm Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh && conda --version ---> Running in 9fc1ca132fbf PREFIX=/root/miniconda3 Unpacking payload ... Miniconda3-latest-Linux-aarch64.sh: line 413: 35 Illegal instruction (core dumped) "$CONDA_EXEC" constructor --prefix "$PREFIX" --extract-conda-pkgs The command '/bin/bash -c wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh && bash Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh -b && rm Miniconda3-latest-Linux-${CONDA_SUFFIX}.sh && conda --version' returned a non-zero code: 1
could this be a result of miniconda not having a python 3.10 release?
Checklist
master
branch).Steps to reproduce the issue
I first cloned Open3D by:
Then, I build Open3D (on Debian 11 Bullseye) with:
Issue 1: Every flags.cmake file is created using unrecognized
-m64
Issue 2: c++: error: unrecognized command-line option ‘-mf16c’ c++: error: unrecognized command-line option ‘-mavx2’ c++: error: unrecognized command-line option ‘-mfma’ c++: error: unrecognized command-line option ‘-mlzcnt’ c++: error: unrecognized command-line option ‘-mbmi’ c++: error: unrecognized command-line option ‘-mbmi2’
Issue 3: [ 98%] Linking CXX executable ../../bin/ConvertPointCloud /usr/bin/ld: ../../assimp/lib/libassimp.a(ImporterRegistry.cpp.o): in function
Assimp::GetImporterInstanceList(std::vector<Assimp::BaseImporter*, std::allocator<Assimp::BaseImporter*> >&)': ImporterRegistry.cpp:(.text+0x8b0): undefined reference to
Assimp::XGLImporter::XGLImporter()' /usr/bin/ld: ImporterRegistry.cpp:(.text+0x8e0): undefined reference to `Assimp::FBXImporter::FBXImporter()' collect2: error: ld returned 1 exit status make[2]: [cpp/tools/CMakeFiles/ConvertPointCloud.dir/build.make:139: bin/ConvertPointCloud] Error 1 make[1]: [CMakeFiles/Makefile2:2436: cpp/tools/CMakeFiles/ConvertPointCloud.dir/all] Error 2 make: *** [Makefile:156: all] Error 2Issue 4: undefined reference to
aiMaterial::GetName() const
Error message
Open3D, Python and System information
Additional information
I have inspected the Libassimp header files and I can clearly see that aiMaterial::GetName() is defined. I am at a loss as to why the build fails.