bedapisl / fast-colorthief

Selection of most dominant colors in image using Modified Median Cut Quantization
47 stars 1 forks source link

arm64 version #8

Closed spy1233 closed 1 year ago

spy1233 commented 1 year ago

Hello.

I need to install fast-colorthief on arm64 machine (MacOS). fast_colorthief-0.0.4-cp310-cp310-macosx_12_0_arm64.

I could use CMake to build Arm64 version for myself but I think it's better to upload it to pypi.

Is there any plan for this?

I can contribute for this if possible.

bedapisl commented 1 year ago

Hello, it would be great to have this. But honestly I am not sure how to do it. I am using Github Actions for building and releasing and they do not support ARM (https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources).

bedapisl commented 1 year ago

If you want, you can build it and put the wheel here. And I will upload it manually myself.

spy1233 commented 1 year ago

Build was successful but tests failed.

image
bedapisl commented 1 year ago

Well in this case it is necessary to debug it and fix it. Unfortunately my estimate is that I will have time for this in maybe half a year.

bedapisl commented 1 year ago

Hello, I uploaded source distribution to Pypi. I think it might allow you to install the fast-colorthief on arm64 using standard pip3 install fast-colorthief. Would you try that please? (The compilation should happen on your machine, but automatically, without using the CMake manually.)

bedapisl commented 1 year ago

Closing because it should work.

bfan1256 commented 1 year ago

Hello! Some of our developers are getting issues with this:

dlopen(/Users/shrey/Developer/shade/shade-asset-management/server/venv/lib/python3.11/site-packages/fast_colorthief_backend.cpython-311-darwin.so, 0x0002): tried: '/Users/shrey/Developer/shade/shade-asset-management/server/venv/lib/python3.11/site-packages/fast_colorthief_backend.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/shrey/Developer/shade/shade-asset-management/server/venv/lib/python3.11/site-packages/fast_colorthief_backend.cpython-311-darwin.so' (no such file), '/Users/shrey/Developer/shade/shade-asset-management/server/venv/lib/python3.11/site-packages/fast_colorthief_backend.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
None

This is with the universal builds. I have it seems a cached version of the arm64 builds for macOS 13 which worked great.

bedapisl commented 1 year ago

If I understand correctly, the developer has ARM CPU, but for some reason they have on disk a ".so" file compiled for x86_64. I would recommend either downloading the source distribution: https://files.pythonhosted.org/packages/48/89/954571b340e186e1dbbe63ff8e0852bf185a0f83618dcb47fc0e0d03e72c/fast-colorthief-0.0.4.tar.gz

and installing from it, or using the manual installation:

git clone https://github.com/bedapisl/fast-colorthief
cd fast-colorthief
git submodule update --init --recursive
pip3 install .

Other possible fix would be me compiling this .so file for MacOS with ARM CPU. But right now I don't have access to such computer, so I am not sure how to do this.

bedapisl commented 1 year ago

Also this happened during runtime (importing) right? And what were the commands used to install the fast-colorthief?