ARCHITECTURE is arm64, I'm on Intel MAC (actually it's github CI)
Error message:
Here an extract, full log attached
[ 27%] Linking CXX executable ../../../bin/ShaderEncoder
-- [download 41% complete]
[ 27%] No configure step for 'ext_vtk'
-- Performing Test has_std_0x_flag - Success
-- Performing Test SUPPORTS_VARIADIC_TEMPLATES
-- [download 42% complete]
[ 27%] No build step for 'ext_vtk'
[ 27%] Built target ShaderEncoder
-- [download 43% complete]
[ 28%] Building Encoded Shader object ImageFragmentShader.h
[ 29%] Building Encoded Shader object PhongVertexShader.h
/bin/sh: ../../../bin/ShaderEncoder: Bad CPU type in executable
make[2]: *** [cpp/open3d/visualization/ImageFragmentShader.h] Error 126
make[2]: *** Waiting for unfinished jobs....
/bin/sh: ../../../bin/ShaderEncoder: Bad CPU type in executable
/bin/sh: ../../../bin/ShaderEncoder: Bad CPU type in executable
Full log attached
Open3D, Python and System information
- Operating system: github CI, should be macOS 10.12
- Python version: Python 3.8`
- Open3D version: checked out 1.6.1
- System architecture: x86 (mac)
- Is this a remote workstation?: yes
- How did you install Open3D?: build from source
- Compiler version (if built from source): should be clang
Additional information
The problem is due to cross-compilation environment: ShaderEncoder should be built for host and not for target (or for both?)
On MacOS, the error can be solved forcing ShaderEncoder to be a universal build, something like:
Checklist
master
branch).Steps to reproduce the issue
I first cloned Open3D by:
It's CI build of a private CI, steps should be...
git clone https://github.com/isl-org/Open3D.git cd Open3D git checkout v0.16.1
Then, I build Open3D (on Ubuntu 20.04, with CUDA 11.5) with:
ARCHITECTURE is arm64, I'm on Intel MAC (actually it's github CI)
Error message:
Here an extract, full log attached
logs_11.zip
Error message
Open3D, Python and System information
Additional information
The problem is due to cross-compilation environment: ShaderEncoder should be built for host and not for target (or for both?)
On MacOS, the error can be solved forcing ShaderEncoder to be a universal build, something like:
I also believe that in 3rdparty/find_dependencies.cmake the parameter MAKE_OSX_ARCHITECTURES should be propagated.
Here a link to a patched branch:
https://github.com/foosoftsrl/Open3D/commit/70bb28d3decf95618281741d64b06679cbdac27b#diff-b474bf2fb16431c8115f15abca15f531c08d72b9955133662c2be5db058fbd3e