OpenColorIO: Pypi ARM64 Wheels do not work.
Hi,
I recently bought a M1 MacBook and as part of my setup, I noted that the OpenColorIO Wheels for ARM64 do not work. We quickly discussed about it with @remia this morning. Repro steps:
(colour-49B8_mty-py3.9) Eris:Environments kelsolaar$ python -m venv OCIO
(colour-49B8_mty-py3.9) Eris:Environments kelsolaar$ source OCIO/bin/activate
(OCIO) Eris:Environments kelsolaar$ pip install OpenColorIO
Collecting OpenColorIO
Using cached opencolorio-2.1.1-cp39-cp39-macosx_11_0_arm64.whl (8.3 MB)
Installing collected packages: OpenColorIO
Successfully installed OpenColorIO-2.1.1
(OCIO) Eris:Environments kelsolaar$ python -c "import PyOpenColorIO"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: dlopen(/Users/kelsolaar/Documents/Development/Environments/OCIO/lib/python3.9/site-packages/PyOpenColorIO.so, 0x0002): tried: '/Users/kelsolaar/Documents/Development/Environments/OCIO/lib/python3.9/site-packages/PyOpenColorIO.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/PyOpenColorIO.so' (no such file), '/usr/lib/PyOpenColorIO.so' (no such file)
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 25 (13 by maintainers)
Commits related to this issue
- Remove "OpenColorIO" from dependencies. See AcademySoftwareFoundation/OpenColorIO#1573 — committed to colour-science/colour by KelSolaar 2 years ago
You can’t update wheels on PyPI I believe, the only way would be to delete the existing ones (already done) and replace with universal wheels (containing both Intel and arm). So far I think the plan is to wait for the next release to have working arm64 wheels on mac.
I can push new wheels built with RB2.1 on the test PyPI if we want to double check it’s working. But the issue should be kept open until we actually release something.
I had to pop to work before doing so, will report tonight!
I want to discuss timing for OpenColorIO next releases, the next TSC is in 2 weeks now.
I believe removing the wheels was still the cleaner option but would have thought pip to fallback on a source install if wheel for the target architecture was not found (see earlier comment). Looking into it again, it seems we don’t ship the source distribution to PyPI to enable this so that should be looked into for the next release as well!
Thanks for testing @KelSolaar.
I will take anything built, I don’t have time to build anything atm.
It works!