fwilliams / point-cloud-utils

An easy-to-use Python library for processing and manipulating 3D point clouds and meshes.
https://www.fwilliams.info/point-cloud-utils/
MIT License
1.34k stars 107 forks source link

Issues building on MacBook M1 #42

Open etaoxing opened 2 years ago

etaoxing commented 2 years ago

I've tried pip install -vvv point-cloud-utils and building from source. Here's the error log:

[2022-05-20 14:06:51] ~/Documents/repos/point-cloud-utils $ cmake --version
cmake version 3.21.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

[2022-05-20 14:05:36] ~/Documents/repos/point-cloud-utils $ python setup.py build
running build
running build_py
creating build
creating build/lib.macosx-11.0-arm64-cpython-39
creating build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_ray_mesh_intersector.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_mesh_io.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/__init__.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_octree.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_pointcloud_normals.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_ray_mesh.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
copying point_cloud_utils/_sinkhorn.py -> build/lib.macosx-11.0-arm64-cpython-39/point_cloud_utils
running build_ext
-- The C compiler identification is AppleClang 12.0.5.12050022
-- The CXX compiler identification is AppleClang 12.0.5.12050022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'numpyeigen'...
HEAD is now at 4916d92 update pybind11
-- Performing Test COMPILER_SUPPORT_OPENMP
-- Performing Test COMPILER_SUPPORT_OPENMP - Failed
CMake Warning (dev) at external/numpyeigen/cmake/numpyeigen.cmake:98 (set):
  Cannot set "NPE_ROOT_DIR": current scope has no parent.
Call Stack (most recent call first):
  CMakeLists.txt:21 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'eigen'...
HEAD is now at 21ae2afd4 bump to 3.3.7
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'pybind11'...
Switched to a new branch 'numpy_hacks_stable'
HEAD is now at aeda673 Hacks for numpyeigen
-- pybind11 v2.9.0 
-- Found PythonInterp: /opt/homebrew/Caskroom/miniforge/base/envs/rnb/bin/python (found version "3.9.12") 
-- Found PythonLibs: /opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/libpython3.9.dylib
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Performing Test HAS_FLTO_THIN
-- Performing Test HAS_FLTO_THIN - Success
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'manifold'...
HEAD is now at 81fd342 Update README.md
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'embree'...
HEAD is now at 69bd4c272 regenerated documentation
-- Found Git: /opt/homebrew/bin/git (found version "2.35.1") 
CMake Deprecation Warning at external/embree/CMakeLists.txt:64 (cmake_policy):
  The OLD behavior for policy CMP0072 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Detecting default ISA...
-- Detected default ISA: SSE2
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
CMake Deprecation Warning at external/geogram/CMakeLists.txt:9 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Using local options file: /Users/exing/Documents/repos/point-cloud-utils/external/geogram/CMakeOptions.txt
-- Configuring build for standalone Geogram (without Vorpaline)
-- Doxygen >= 1.7.0 not found, cannot generate documentation
CMake Deprecation Warning at external/geogram/doc/CMakeLists.txt:7 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found OpenMP_C: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP: TRUE (found version "5.0")  
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/exing/Documents/repos/point-cloud-utils/build/temp.macosx-11.0-arm64-cpython-39
[  1%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/BVH.cpp.o
[  1%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/LM7/libmeshb7.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  2%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/rply/rply.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
2 warnings generated.
[  2%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Intersection.cpp.o
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
2 warnings generated.
[  2%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/adler32.c.o
[  3%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/main.cpp.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/compress.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/crc32.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/deflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzclose.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzlib.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzread.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzwrite.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inffast.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
2 warnings generated.
[  7%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Model_OBJ.cpp.o
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inftrees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/trees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/uncompr.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/zutil.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/gzstream/gzstream.cpp.o
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Factor.cpp.o
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Geometry.cpp.o
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/MarchingCubes.cpp.o
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/poisson_geogram.cpp.o
2 warnings generated.
[ 10%] Linking CXX static library libmanifold.a
[ 10%] Built target manifold
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS.cpp.o
[ 10%] Building CXX object CMakeFiles/npe.dir/external/numpyeigen/src/npe_typedefs.cpp.o
[ 11%] Linking CXX static library libnpe.a
[ 11%] Built target npe
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS_BLAS.cpp.o
[ 12%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o
clang: warning: argument unused during compilation: '-msse2' [-Wunused-command-line-argument]
In file included from /Users/exing/Documents/repos/point-cloud-utils/external/embree/common/sys/sysinfo.cpp:4:
/Users/exing/Documents/repos/point-cloud-utils/external/embree/common/sys/sysinfo.h:63:2: error: Unknown ISA
#error Unknown ISA
 ^
In file included from /Users/exing/Documents/repos/point-cloud-utils/external/embree/common/sys/sysinfo.cpp:5:
In file included from /Users/exing/Documents/repos/point-cloud-utils/external/embree/common/sys/intrinsics.h:12:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/immintrin.h:15:
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:33:5: note: '__builtin_isless' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
                        ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:67:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
    return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
           ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:129:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
    return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:159:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
    return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:189:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
    return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:216:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
    return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:239:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
    return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:260:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
    return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:287:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
    return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:310:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
    return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:331:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
    return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: use of undeclared identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: first argument of MTE builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^                    ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: use of undeclared identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: first argument of MTE builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^                    ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:394:19: error: use of undeclared identifier '__builtin_ia32_paddd'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [embree/common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o] Error 1
make[1]: *** [embree/common/sys/CMakeFiles/sys.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/ICFS.cpp.o
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/LineSearch.cpp.o
[ 13%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/Lite_Sparse_Matrix.cpp.o
[ 13%] Linking CXX static library ../../../../../lib/libgeogram_third_party.a
[ 13%] Built target geogram_third_party
make: *** [all] Error 2
Traceback (most recent call last):
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 116, in <module>
    main()
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 89, in main
    setuptools.setup(
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 136, in run
    self.run_command(cmd_name)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 39, in run
    self.build_extension(ext)
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 72, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
etaoxing commented 2 years ago

Seems like the issue could be embree not using the latest version v3.13 which has M1 support?

[2022-05-20 14:08:36] ~/Documents/repos/point-cloud-utils $ cd external/embree 
[2022-05-20 14:08:44] ~/Documents/repos/point-cloud-utils/external/embree $ git status
HEAD detached at v3.12.1
nothing to commit, working tree clean

https://github.com/fwilliams/point-cloud-utils/blob/7115e490f1c527ad0153c5fea9eb87dc65aca162/CMakeLists.txt#L78

I tried bumping to embree v3.13.0 and building gets a little further, but still errors:

[2022-05-20 14:23:15] ~/Documents/repos/point-cloud-utils $ python setup.py clean
prunning clean
removing 'build/temp.macosx-11.0-arm64-cpython-39' (and everything under it)
[2022-05-20 14:23:21] ~/Documents/repos/point-cloud-utils $ python setup.py build
running build
running build_py
running build_ext
-- The C compiler identification is AppleClang 12.0.5.12050022
-- The CXX compiler identification is AppleClang 12.0.5.12050022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Performing Test COMPILER_SUPPORT_OPENMP
-- Performing Test COMPILER_SUPPORT_OPENMP - Failed
CMake Warning (dev) at external/numpyeigen/cmake/numpyeigen.cmake:98 (set):
  Cannot set "NPE_ROOT_DIR": current scope has no parent.
Call Stack (most recent call first):
  CMakeLists.txt:21 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

HEAD is now at aeda673 Hacks for numpyeigen
-- pybind11 v2.9.0 
-- Found PythonInterp: /opt/homebrew/Caskroom/miniforge/base/envs/rnb/bin/python (found version "3.9.12") 
-- Found PythonLibs: /opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/libpython3.9.dylib
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Performing Test HAS_FLTO_THIN
-- Performing Test HAS_FLTO_THIN - Success
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found Git: /opt/homebrew/bin/git (found version "2.35.1") 
CMake Deprecation Warning at external/embree/CMakeLists.txt:64 (cmake_policy):
  The OLD behavior for policy CMP0072 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Detecting default ISA...
-- Detected default ISA: NEON
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
CMake Deprecation Warning at external/geogram/CMakeLists.txt:9 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Using local options file: /Users/exing/Documents/repos/point-cloud-utils/external/geogram/CMakeOptions.txt
-- Configuring build for standalone Geogram (without Vorpaline)
-- Doxygen >= 1.7.0 not found, cannot generate documentation
CMake Deprecation Warning at external/geogram/doc/CMakeLists.txt:7 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found OpenMP_C: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP: TRUE (found version "5.0")  
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/exing/Documents/repos/point-cloud-utils/build/temp.macosx-11.0-arm64-cpython-39
[  2%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/LM7/libmeshb7.c.o
[  2%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/BVH.cpp.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  2%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/rply/rply.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
2 warnings generated.
[  2%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Intersection.cpp.o
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/adler32.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
2 warnings generated.
[  3%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/main.cpp.o
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/compress.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/crc32.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/deflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzclose.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzlib.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzread.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzwrite.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inffast.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
2 warnings generated.
[  7%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Model_OBJ.cpp.o
In file included from <built-in>:425:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.23.0\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.23.0"
        ^
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inftrees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/trees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/uncompr.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  9%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/zutil.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/gzstream/gzstream.cpp.o
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Factor.cpp.o
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Geometry.cpp.o
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/MarchingCubes.cpp.o
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/poisson_geogram.cpp.o
2 warnings generated.
[ 11%] Linking CXX static library libmanifold.a
[ 11%] Built target manifold
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS.cpp.o
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS_BLAS.cpp.o
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/ICFS.cpp.o
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/LineSearch.cpp.o
[ 12%] Building CXX object CMakeFiles/npe.dir/external/numpyeigen/src/npe_typedefs.cpp.o
[ 13%] Linking CXX static library libnpe.a
[ 13%] Built target npe
[ 14%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/Lite_Sparse_Matrix.cpp.o
[ 15%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o
[ 15%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/alloc.cpp.o
[ 15%] Linking CXX static library ../../../../../lib/libgeogram_third_party.a
[ 15%] Built target geogram_third_party
[ 16%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/filename.cpp.o
[ 16%] Building CXX object embree/common/math/CMakeFiles/math.dir/constants.cpp.o
[ 17%] Linking CXX static library ../../libmath.a
[ 17%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/library.cpp.o
[ 17%] Built target math
[ 17%] Building CXX object embree/common/simd/CMakeFiles/simd.dir/sse.cpp.o
[ 17%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/thread.cpp.o
[ 17%] Linking CXX static library ../../libsimd.a
[ 17%] Built target simd
[ 18%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/string.cpp.o
[ 18%] Building CXX object embree/common/tasking/CMakeFiles/tasking.dir/taskschedulerinternal.cpp.o
[ 18%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/regression.cpp.o
[ 19%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/mutex.cpp.o
[ 20%] Linking CXX static library ../../libtasking.a
[ 20%] Built target tasking
[ 20%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/condition.cpp.o
[ 21%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/algorithm.cpp.o
[ 21%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/barrier.cpp.o
[ 21%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/assert.cpp.o
[ 22%] Linking CXX static library ../../libsys.a
[ 22%] Built target sys
[ 23%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/attributes.cpp.o
[ 23%] Building CXX object embree/common/lexers/CMakeFiles/lexers.dir/stringstream.cpp.o
[ 24%] Building CXX object embree/common/lexers/CMakeFiles/lexers.dir/tokenstream.cpp.o
[ 24%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/b_stream.cpp.o
[ 24%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/command_line.cpp.o
[ 24%] Linking CXX static library ../../liblexers.a
[ 24%] Built target lexers
[ 25%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/command_line_args.cpp.o
[ 25%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/device.cpp.o
[ 25%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/common.cpp.o
[ 26%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/stat.cpp.o
[ 26%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/counted.cpp.o
[ 27%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/environment.cpp.o
[ 27%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/acceln.cpp.o
[ 27%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/factory.cpp.o
[ 28%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/file_system.cpp.o
[ 28%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/accelset.cpp.o
[ 28%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/geofile.cpp.o
[ 29%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/state.cpp.o
[ 29%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/geometry.cpp.o
[ 30%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/line_stream.cpp.o
[ 30%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/logger.cpp.o
[ 30%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/rtcore.cpp.o
[ 31%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/numeric.cpp.o
[ 31%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/packed_arrays.cpp.o
[ 31%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/process.cpp.o
[ 32%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/rtcore_builder.cpp.o
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/process.cpp:97:22: warning: 'get_local_value' overrides a member function but is not marked 'override' [-Wsuggest-override]
        virtual bool get_local_value(
                     ^
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/environment.h:374:22: note: overridden virtual function is here
        virtual bool get_local_value(
                     ^
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/process.cpp:141:22: warning: 'set_local_value' overrides a member function but is not marked 'override' [-Wsuggest-override]
        virtual bool set_local_value(
                     ^
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/environment.h:389:22: note: overridden virtual function is here
        virtual bool set_local_value(
                     ^
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/process.cpp:183:17: warning: '~ProcessEnvironment' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~ProcessEnvironment() {
                ^
/Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/environment.h:360:17: note: overridden virtual function is here
        virtual ~Environment();
                ^
3 warnings generated.
[ 33%] Building CXX object geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/process_unix.cpp.o
In file included from /Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/process_unix.cpp:75:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/math.h:649:12: note: '__builtin_isless' declared here
    return isless(__lcpp_x, __lcpp_y);
           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/math.h:545:22: note: expanded from macro 'isless'
#define isless(x, y) __builtin_isless((x),(y))
                     ^
In file included from /Users/exing/Documents/repos/point-cloud-utils/external/geogram/src/lib/geogram/basic/process_unix.cpp:75:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
                        ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:67:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
    return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
           ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:129:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
    return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:159:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
    return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:189:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
    return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:216:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
    return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:239:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
    return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:260:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
    return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:287:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
    return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:310:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
    return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:331:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
    return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: use of undeclared identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: first argument of MTE builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^                    ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: use of undeclared identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: first argument of MTE builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^                    ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:394:19: error: use of undeclared identifier '__builtin_ia32_paddd'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include/mmintrin.h:394:19: error: first argument of MTE builtin function must be a pointer ('__v2si' (vector of 2 'int' values) invalid)
    return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
                  ^                    ~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [geogram/src/lib/geogram/CMakeFiles/geogram.dir/basic/process_unix.cpp.o] Error 1
make[1]: *** [geogram/src/lib/geogram/CMakeFiles/geogram.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 33%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene.cpp.o
[ 33%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/alloc.cpp.o
[ 34%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/geometry.cpp.o
[ 34%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_user_geometry.cpp.o
[ 34%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_instance.cpp.o
[ 35%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_triangle_mesh.cpp.o
[ 35%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_quad_mesh.cpp.o
[ 36%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_curves.cpp.o
[ 36%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_line_segments.cpp.o
[ 36%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_grid_mesh.cpp.o
[ 37%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_points.cpp.o
[ 37%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/motion_derivative.cpp.o
[ 38%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/bezier_curve.cpp.o
[ 38%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/bspline_curve.cpp.o
[ 38%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/catmullrom_curve.cpp.o
[ 39%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/primitive4.cpp.o
[ 39%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/instance_intersector.cpp.o
[ 40%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_4v.cpp.o
[ 40%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_4i.cpp.o
[ 40%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_4i_mb.cpp.o
[ 41%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_8v.cpp.o
[ 41%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_8i.cpp.o
[ 41%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/curve_intersector_virtual_8i_mb.cpp.o
[ 42%] Building CXX object embree/kernels/CMakeFiles/embree.dir/builders/primrefgen.cpp.o
[ 42%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh.cpp.o
[ 43%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_statistics.cpp.o
[ 43%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh4_factory.cpp.o
[ 43%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh8_factory.cpp.o
[ 44%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_collider.cpp.o
[ 44%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_rotate.cpp.o
[ 45%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_refit.cpp.o
[ 45%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder.cpp.o
[ 45%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_hair.cpp.o
[ 46%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_hair_mb.cpp.o
[ 46%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_morton.cpp.o
[ 47%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_sah.cpp.o
[ 47%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_sah_spatial.cpp.o
[ 47%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_sah_mb.cpp.o
[ 48%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_twolevel.cpp.o
[ 48%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_intersector1_bvh4.cpp.o
[ 48%] Building CXX object embree/kernels/CMakeFiles/embree.dir/common/scene_subdiv_mesh.cpp.o
[ 49%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/tessellation_cache.cpp.o
[ 49%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/subdivpatch1base.cpp.o
[ 50%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/catmullclark_coefficients.cpp.o
[ 50%] Building CXX object embree/kernels/CMakeFiles/embree.dir/geometry/grid_soa.cpp.o
[ 50%] Building CXX object embree/kernels/CMakeFiles/embree.dir/subdiv/subdivpatch1base_eval.cpp.o
[ 51%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_builder_subdiv.cpp.o
[ 51%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_intersector_hybrid4_bvh4.cpp.o
[ 52%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_intersector_stream_bvh4.cpp.o
[ 52%] Building CXX object embree/kernels/CMakeFiles/embree.dir/bvh/bvh_intersector_stream_filters.cpp.o
[ 52%] Linking CXX static library ../libembree3.a
[ 52%] Built target embree
make: *** [all] Error 2
Traceback (most recent call last):
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 116, in <module>
    main()
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 89, in main
    setuptools.setup(
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 136, in run
    self.run_command(cmd_name)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 39, in run
    self.build_extension(ext)
  File "/Users/exing/Documents/repos/point-cloud-utils/setup.py", line 72, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/rnb/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
ShengyuH commented 2 years ago

hi, I have the same error message when I was trying to build on my Mac. Here's my system info:

Apple M1 Pro, MacOS 12.3.1, python 3.9.13, cmake 3.22.1

Here's the error message from pip install

shengyuhuang@Shengyus-MBP point-cloud-utils % pip install point-cloud-utils --no-cache-dir
Collecting point-cloud-utils
  Downloading point-cloud-utils-0.25.1.tar.gz (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.3/40.3 kB 1.7 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: scipy in /opt/homebrew/lib/python3.9/site-packages (from point-cloud-utils) (1.7.3)
Requirement already satisfied: numpy in /opt/homebrew/lib/python3.9/site-packages (from point-cloud-utils) (1.21.4)
Building wheels for collected packages: point-cloud-utils
  Building wheel for point-cloud-utils (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for point-cloud-utils (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [69 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-12-arm64-cpython-39
      creating build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_ray_mesh_intersector.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_mesh_io.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/__init__.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_ray_point_cloud_intersector.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_octree.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_pointcloud_normals.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_ray_mesh.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      copying point_cloud_utils/_sinkhorn.py -> build/lib.macosx-12-arm64-cpython-39/point_cloud_utils
      running build_ext
      CMake Error: The source directory "/private/var/folders/42/8h9z7dbj3rd9031rrh9t5yz80000gn/T/pip-install-nv2_tdnd/point-cloud-utils_ef68fe1181b5474b981e4f36cea615d1" does not appear to contain CMakeLists.txt.
      Specify --help for usage, or press the help button on the CMake GUI.
      Traceback (most recent call last):
        File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/build_meta.py", line 244, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
          self.run_setup()
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 116, in <module>
          main()
        File "setup.py", line 89, in main
          setuptools.setup(
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
          return run_commands(dist)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
          dist.run_commands()
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
          self.run_command(cmd)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
          super().run_command(command)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 299, in run
          self.run_command('build')
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
          super().run_command(command)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 136, in run
          self.run_command(cmd_name)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
          super().run_command(command)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "setup.py", line 39, in run
          self.build_extension(ext)
        File "setup.py", line 71, in build_extension
          subprocess.check_call(['cmake'] + cmake_args + [ext.sourcedir], cwd=self.build_temp, env=env)
        File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/private/var/folders/42/8h9z7dbj3rd9031rrh9t5yz80000gn/T/pip-install-nv2_tdnd/point-cloud-utils_ef68fe1181b5474b981e4f36cea615d1/build/lib.macosx-12-arm64-cpython-39/point_cloud_utils', '-DPYTHON_EXECUTABLE=/opt/homebrew/Cellar/python@3.9/3.9.13_1/bin/python3.9', '-DCMAKE_BUILD_TYPE=Release', '/private/var/folders/42/8h9z7dbj3rd9031rrh9t5yz80000gn/T/pip-install-nv2_tdnd/point-cloud-utils_ef68fe1181b5474b981e4f36cea615d1']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for point-cloud-utils
Failed to build point-cloud-utils
ERROR: Could not build wheels for point-cloud-utils, which is required to install pyproject.toml-based projects

Here's the error message when building it:

shengyuhuang@Shengyus-MBP point-cloud-utils % python setup.py build  
running build
running build_py
running build_ext
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Performing Test COMPILER_SUPPORT_OPENMP
-- Performing Test COMPILER_SUPPORT_OPENMP - Failed
CMake Warning (dev) at external/numpyeigen/cmake/numpyeigen.cmake:98 (set):
  Cannot set "NPE_ROOT_DIR": current scope has no parent.
Call Stack (most recent call first):
  CMakeLists.txt:21 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'eigen'...
HEAD is now at 21ae2afd4 bump to 3.3.7
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'pybind11'...
Switched to a new branch 'numpy_hacks_stable'
HEAD is now at d8c0a26 Expose PyArrayObject struct members in pybind11.
-- pybind11 v2.9.0 
-- Found PythonInterp: /opt/homebrew/opt/python@3.9/bin/python3.9 (found version "3.9.13") 
-- Found PythonLibs: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Performing Test HAS_FLTO_THIN
-- Performing Test HAS_FLTO_THIN - Success
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'tinyply'...
Switched to a new branch 'point_cloud_utils'
HEAD is now at 164770b this check is broken
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'manifold'...
HEAD is now at 81fd342 Update README.md
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Cloning into 'embree'...
HEAD is now at 69bd4c272 regenerated documentation
-- Found Git: /usr/bin/git (found version "2.32.1 (Apple Git-133)") 
CMake Deprecation Warning at external/embree/CMakeLists.txt:64 (cmake_policy):
  The OLD behavior for policy CMP0072 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Detecting default ISA...
-- Detected default ISA: SSE2
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
CMake Deprecation Warning at external/geogram/CMakeLists.txt:9 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Using local options file: /Users/shengyuhuang/Documents/point-cloud-utils/external/geogram/CMakeOptions.txt
-- Configuring build for standalone Geogram (without Vorpaline)
-- Doxygen >= 1.7.0 not found, cannot generate documentation
CMake Deprecation Warning at external/geogram/doc/CMakeLists.txt:7 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found OpenMP_C: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.0") 
-- Found OpenMP: TRUE (found version "5.0")  
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/shengyuhuang/Documents/point-cloud-utils/build/temp.macosx-12-arm64-cpython-39
[  1%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/BVH.cpp.o
[  1%] Building CXX object CMakeFiles/npe.dir/external/numpyeigen/src/npe_typedefs.cpp.o
In file included from <built-in>:442:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.25.1"
        ^
2 warnings generated.
[  1%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Intersection.cpp.o
In file included from <built-in>:442:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.25.1"
        ^
2 warnings generated.
[  2%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/main.cpp.o
In file included from <built-in>:442:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.25.1"
        ^
[  2%] Linking CXX static library libnpe.a
2 warnings generated.
[  2%] Building CXX object CMakeFiles/manifold.dir/external/manifold/src/Model_OBJ.cpp.o
In file included from <built-in>:442:
<command line>:3:23: warning: missing terminating '"' character [-Winvalid-pp-token]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
                      ^
<command line>:3:9: warning: 'VERSION_INFO' macro redefined [-Wmacro-redefined]
#define VERSION_INFO \"0.25.1\" -DWITH_OMP 
        ^
<command line>:1:9: note: previous definition is here
#define VERSION_INFO "0.25.1"
        ^
[  2%] Built target npe
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/LM7/libmeshb7.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  3%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/rply/rply.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/adler32.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/compress.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  4%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/crc32.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/deflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzclose.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  5%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzlib.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzread.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  6%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/gzwrite.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inffast.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inflate.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  7%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/inftrees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/trees.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/uncompr.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  8%] Building C object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/zlib/zutil.c.o
clang: warning: argument unused during compilation: '-msse3' [-Wunused-command-line-argument]
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/gzstream/gzstream.cpp.o
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Factor.cpp.o
[  9%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/Geometry.cpp.o
2 warnings generated.
[  9%] Linking CXX static library libmanifold.a
[  9%] Built target manifold
[  9%] Building CXX object embree/common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o
clang: warning: argument unused during compilation: '-msse2' [-Wunused-command-line-argument]
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/MarchingCubes.cpp.o
In file included from /Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/sysinfo.cpp:4:
/Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/sysinfo.h:63:2: error: Unknown ISA
#error Unknown ISA
 ^
In file included from /Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/sysinfo.cpp:5:
In file included from /Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/intrinsics.h:12:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/immintrin.h:13:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/x86gprintrin.h:15:
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
  __asm__ ("hreset $0" :: "a"(__eax));
                          ^
In file included from /Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/sysinfo.cpp:5:
In file included from /Users/shengyuhuang/Documents/point-cloud-utils/external/embree/common/sys/intrinsics.h:12:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/immintrin.h:17:
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:33:5: note: '__builtin_isless' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
    ~~~~~~~~~~~~~~~~~~~~^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:67:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
    return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
           ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:129:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
    return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:159:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
    return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:189:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
    return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:216:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
    return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:239:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
    return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:260:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
    return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:287:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
    return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:310:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
    return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:331:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
    return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:352:19: error: use of undeclared identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:352:19: error: first argument of MTE builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^                    ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:373:19: error: use of undeclared identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/mmintrin.h:373:19: error: first argument of MTE builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^                    ~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
[ 10%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/PoissonRecon/poisson_geogram.cpp.o
20 errors generated.
make[2]: *** [embree/common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o] Error 1
make[1]: *** [embree/common/sys/CMakeFiles/sys.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS.cpp.o
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/HLBFGS_BLAS.cpp.o
[ 11%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/ICFS.cpp.o
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/LineSearch.cpp.o
[ 12%] Building CXX object geogram/src/lib/geogram/third_party/CMakeFiles/geogram_third_party.dir/HLBFGS/Lite_Sparse_Matrix.cpp.o
[ 12%] Linking CXX static library ../../../../../lib/libgeogram_third_party.a
[ 12%] Built target geogram_third_party
make: *** [all] Error 2
Traceback (most recent call last):
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 116, in <module>
    main()
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 89, in main
    setuptools.setup(
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 136, in run
    self.run_command(cmd_name)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/opt/homebrew/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 39, in run
    self.build_extension(ext)
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 72, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/opt/homebrew/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
shengyuhuang@Shengyus-MBP point-cloud-utils %
fwilliams commented 1 year ago

This is now fixed! Source builds should work on ARM processors and I'll release wheels in a new version soon

BupyeongHealer commented 1 year ago

Hi @fwilliams, I used 0.29.0 source builds and pip for installing. Unfortunately, It does not work. Here is the issue for source build.

[ 50%] Linking CXX static library ../libembree3.a
[ 50%] Built target embree
make: *** [all] Error 2
Traceback (most recent call last):
  File "/Users/cristiano/workspace/point-cloud-utils-0.29.0/setup.py", line 116, in <module>
    main()
  File "/Users/cristiano/workspace/point-cloud-utils-0.29.0/setup.py", line 89, in main
    setuptools.setup(
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/dist.py", line 1217, in run_command
    super().run_command(command)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 132, in run
    self.run_command(cmd_name)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/dist.py", line 1217, in run_command
    super().run_command(command)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/Users/cristiano/workspace/point-cloud-utils-0.29.0/setup.py", line 39, in run
    self.build_extension(ext)
  File "/Users/cristiano/workspace/point-cloud-utils-0.29.0/setup.py", line 72, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
BupyeongHealer commented 1 year ago

When I install library using pip, installation is fine. But, there is a issue for import.

File "/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/point_cloud_utils/__init__.py", line 4, in <module>
    from ._pcu_internal import sample_mesh_poisson_disk, sample_mesh_random, \
ImportError: dlopen(/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/point_cloud_utils/_pcu_internal.cpython-39-darwin.so, 0x0002): tried: '/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/point_cloud_utils/_pcu_internal.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/point_cloud_utils/_pcu_internal.cpython-39-darwin.so' (no such file), '/Users/cristiano/miniforge3/envs/pytorch3d/lib/python3.9/site-packages/point_cloud_utils/_pcu_internal.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
fwilliams commented 1 year ago

@maurock are you able to confirm this? Does the current main branch build and work on your mac? What about when you install from Pip?

ShengyuH commented 1 year ago

I pip installed and had the same issue as @BupyeongHealer pointed out:

image
fwilliams commented 1 year ago

@ShengyuH can you try building from source? I wonder if this is an issue with the wheels or with the build. The CI passes and should be able to import. Maybe you're getting the wrong wheel for some reason.

ShengyuH commented 1 year ago

hi Francis,

I tried to build from scratch and failed here:

 50%] Built target embree
make: *** [all] Error 2
Traceback (most recent call last):
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 116, in <module>
    main()
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 89, in main
    setuptools.setup(
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 973, in run_commands
    self.run_command(cmd)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
    super().run_command(command)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 992, in run_command
    cmd_obj.run()
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/command/build.py", line 24, in run
    super().run()
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 132, in run
    self.run_command(cmd_name)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
    super().run_command(command)
  File "/opt/homebrew/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 992, in run_command
    cmd_obj.run()
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 39, in run
    self.build_extension(ext)
  File "/Users/shengyuhuang/Documents/point-cloud-utils/setup.py", line 72, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/opt/homebrew/Cellar/python@3.10/3.10.6_2/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
fwilliams commented 1 year ago

@ShengyuH Can you paste the full compiler output?

maurock commented 1 year ago

I can pip install it and I can build it from source. It works in both cases, but I also get the import error:

Jupyter does not return any error and everything works fine - which is why I might have missed the import error in the past:

image image
fwilliams commented 1 year ago

@maurock how are you building from source? @ShengyuH how are you building from source?

maurock commented 1 year ago

I have built it using both pip install . and python setup.py install in the project directory.

fwilliams commented 1 year ago

Are you able to repro the compiler errors? What happens if you do python setup.py develop from a clean env?

fwilliams commented 1 year ago

@maurock @ShengyuH @BupyeongHealer I got access to an M1 mac to debug. Can you guys try pulling and building from source? I'll cut a 0.29.1 release soon with the fix but I want to make sure it compiles!

maurock commented 1 year ago

Building from source (python setup.py install) works, and no import errors, thanks!

fwilliams commented 1 year ago

Can you pip install from PyPI? New version should be online.

maurock commented 1 year ago

pip install point-cloud-utils installs the library correctly but it still gives an import error:

 ~/Doc/PhD/Cod/pybullet-object-models  shapenet ⇡1  pip install point_cloud_utils                    ✔  4s    active_touch 
Collecting point_cloud_utils
  Downloading point_cloud_utils-0.29.1-cp38-cp38-macosx_11_0_arm64.whl (6.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 3.4 MB/s eta 0:00:00
Requirement already satisfied: scipy in /Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages (from point_cloud_utils) (1.8.0)
Requirement already satisfied: numpy in /Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages (from point_cloud_utils) (1.22.3)
Installing collected packages: point_cloud_utils
Successfully installed point_cloud_utils-0.29.1

 ~/Doc/PhD/Cod/pybullet-object-models  shapenet ⇡1  python                                           ✔  4s    active_touch 

Python 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:04:14)
[Clang 12.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import point_cloud_utils as pcu
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages/point_cloud_utils/__init__.py", line 4, in <module>
    from ._pcu_internal import sample_mesh_poisson_disk, sample_mesh_random, \
ImportError: dlopen(/Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages/point_cloud_utils/_pcu_internal.cpython-38-darwin.so, 0x0002): tried: '/Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages/point_cloud_utils/_pcu_internal.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
fwilliams commented 1 year ago

This is weird the shared library it’s trying to import is built for x86. Not sure what gives here. I wonder if the CI is building the wrong thing. Let me investigate

maurock commented 1 year ago

Is this answer useful?

This means that I don't know first hand how pypi works, I just have looked at the documentation. I think by default it looks for prebuilt wheels and if it can't find one it builds the extension locally from source. This is no problem for pure python modules. However if the wheel should contain C code that has to be compiled then I think pypi has a large bug here in that it just looks for macos wheels and does not check the CPU architecture.

fwilliams commented 1 year ago

From the output here:

  Downloading point_cloud_utils-0.29.1-cp38-cp38-macosx_11_0_arm64.whl (6.5 MB)

It looks like it's grabbing the right wheel.

But then the import error here:

ImportError: dlopen(/Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages/point_cloud_utils/_pcu_internal.cpython-38-darwin.so, 0x0002): tried: '/Users/ri21540/miniforge3/envs/active_touch/lib/python3.8/site-packages/point_cloud_utils/_pcu_internal.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))

implies that the .so file that the CI is building is for x86_64 which is not quite right. I need to look into how the CI is running ARM builds. My hypothesis is that they are building on an intel machine but passing a flag to generate ARM assembly. If that's the case, we're not checking for this flag. This is quite annoying to debug since it means adding prints, running the CI, and waiting 🤣

gattia commented 1 year ago

Just adding to this - when installing from source on linux I am getting import errors as well - not quite the exact same, but similar:

ModuleNotFoundError: No module named 'point_cloud_utils._pcu_internal'

I have tried python setup.py install as well as pip install .

gattia commented 1 year ago

ignore my comment - I was trying to use pcu from its build directory and I think it was just finding the one in the directory before finding the installed version. Moving directories lets me use the installed version fine.

CharlesPlusC commented 11 months ago

Hello just wondering if there was any fix for this? I have the same error as @BupyeongHealer. Thanks!

CharlesPlusC commented 11 months ago

Hello just wondering if there was any fix for this? I have the same error as @BupyeongHealer. Thanks!

Just realised the solution (#59 ) is to currently build from source. Will do that for now. Thanks.