Open nicklofaso opened 6 months ago
Confirming this issue, just saw the same thing myself
ImportError: dlopen(/usr/local/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so, 0x0002):
tried: '/usr/local/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so'
(mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64')),
'/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so'
(no such file), '/usr/local/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so'
(mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64'))
When downloading the .whl
file directly it will not install:
▶ pip install open3d-0.18.0-cp310-cp310-macosx_11_0_x86_64.whl
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
ERROR: open3d-0.18.0-cp310-cp310-macosx_11_0_x86_64.whl is not a supported wheel on this platform.
Do the latest development wheels work?
Hmm, the docs seem to be stuck on an old commit (0cf605f) for which the wheels got deleted. Here is the working link for the latest commit (aba7214):
Created #6694 for the docs issue.
That works ok!
I guess in that case this could be related to the other issue, as pip before was not finding anything to download 🤔 Or perhaps it downloaded it, but did not link to the correct location.
tried: '/usr/local/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so'
(mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h' or 'x86_64')),
I also encountered this issue. Currently-published wheels with universal2
in their platform tag do not contain a universal version of the pybind.cpython-3*-darwin.so
library.
open3d-0.18.0-cp39-cp39-macosx_13_0_universal2/open3d/cpu $ file -b pybind.cpython-39-darwin.so
Mach-O 64-bit bundle arm64
open3d-0.18.0-cp311-cp311-macosx_10_15_universal2/open3d/cpu $ file -b pybind.cpython-311-darwin.so
Mach-O 64-bit bundle x86_64
I checked with the latest universal development wheel for Python 3.11 too, same problem:
open3d-0.18.0+aba7214-cp311-cp311-macosx_10_15_universal2/open3d/cpu $ file -b pybind.cpython-311-darwin.so
Mach-O 64-bit bundle x86_64
I poked around and this seems to apply to all the other dylibs in the wheels too.
Just to compare, here's what the output for a universal .so should look like:
PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2/nacl $ file -b _sodium.abi3.so
Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64:Mach-O 64-bit bundle arm64]
_sodium.abi3.so (for architecture x86_64): Mach-O 64-bit bundle x86_64
_sodium.abi3.so (for architecture arm64): Mach-O 64-bit bundle arm64
Hmm, it might just be a case of setting something like -DCMAKE_OSX_ARCHITECTURES:STRING="x86_64;arm64"
when compiling. Hopefully I'll get a chance to test this tomorrow.
The macOS dev wheels are indeed only build on x64 and incorrectly named. I plan to fix this in
The arm64 macOS wheels on PyPi are currently built manually. The artifacts of that PR CI job has the most recent open3d_macosx_ARM64_wheels.
Thanks for working on this! I had been wondering how the arm64 wheels were being built for distribution.
I had a look at the artifacts from that CI job and it looks like the libs in the universal2
wheels are built for arm64 only. Perhaps the output names should then change from (for example) open3d-0.18.0+48ca4db-cp311-cp311-macosx_11_0_universal2.whl
to open3d-0.18.0+48ca4db-cp311-cp311-macosx_11_0_arm64.whl
Hey! I cant install v0.18 on mac since it is apparently not available
python -m pip install open3d==0.18.0
ERROR: Could not find a version that satisfies the requirement open3d==0.18.0 (from versions: 0.16.0, 0.16.1)
ERROR: No matching distribution found for open3d==0.18.0
I guess this might be the same issue?
macOS: 14.4.1 Python: 3.10.13 Processor: X86_64
Thanks!!
Hey! I cant install v0.18 on mac since it is apparently not available
python -m pip install open3d==0.18.0 ERROR: Could not find a version that satisfies the requirement open3d==0.18.0 (from versions: 0.16.0, 0.16.1) ERROR: No matching distribution found for open3d==0.18.0
I guess this might be the same issue?
macOS: 14.4.1 Python: 3.10.13 Processor: X86_64
Thanks!!
same problem
Seeing this issue on ubuntu 24.04 which uses python12.
Checklist
main
branch).Steps to reproduce the issue
I pip installed v0.18 Open3D:
Then, I tried to print out open3d version
Then, I inspected pybind.cpython-39-darwin.so
Error message
Additional information
Pip logs showed that it downloaded
open3d-0.18.0-cp39-cp39-macosx_13_0_universal2.whl
from pypi. Based on my inspection ofpybind.cpython-39-darwin.so
it seems like the wheel incorrectly installed the arm64 version or it does not contain the x86_64 version of open3d?