Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install on macOS Sonoma M3 apple Silicon Chip #31

Open
JTZ18 opened this issue Jan 14, 2024 · 0 comments
Open

Unable to install on macOS Sonoma M3 apple Silicon Chip #31

JTZ18 opened this issue Jan 14, 2024 · 0 comments

Comments

@JTZ18
Copy link

JTZ18 commented Jan 14, 2024

Hi, I think your default setup.py ends up in errors for installation on an apple silicon chip. I am running a Linux dev container on vscode on my m3 Mac.

The following was a log output when running pip install jpegio

Collecting jpegio
Using cached jpegio-0.2.8.tar.gz (73.5 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: jpegio
Building wheel for jpegio (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for jpegio (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [72 lines of output]
DIR_LIBJPEG_HEADER: /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/include
DIR_LIBJPEG_SOURCE: /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdapistd.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdarith.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcmarker.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcprepct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcmaster.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jaricom.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jquant2.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jfdctint.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdcoefct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdatadst.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcarith.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jctrans.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jmemmgr.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdhuff.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jidctfst.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdmarker.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jidctint.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jccoefct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jmemnobs.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdcolor.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcapimin.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jerror.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jfdctfst.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdsample.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdapimin.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jddctmgr.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jutils.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jfdctflt.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdtrans.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcinit.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jccolor.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcomapi.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdatasrc.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdpostct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdmainct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcsample.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdmerge.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdmaster.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jchuff.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcparam.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcmainct.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jidctflt.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jquant1.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcdctmgr.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jcapistd.c
[LIBJPEG] /tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/src/jdinput.c
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-39
creating build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/io.py -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/flags.py -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/init.py -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/decompressedjpeg.pxd -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/componentinfo.pxd -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/clibjpeg.pxd -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/jstruct.pxd -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/componentinfo.pyx -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/decompressedjpeg.pyx -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/mat2D.h -> build/lib.linux-aarch64-cpython-39/jpegio
copying jpegio/jstruct.h -> build/lib.linux-aarch64-cpython-39/jpegio
running build_ext
building 'jpegio.componentinfo' extension
creating build/temp.linux-aarch64-cpython-39
creating build/temp.linux-aarch64-cpython-39/jpegio
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I. -I/tmp/pip-build-env-f9516bc8/overlay/lib/python3.9/site-packages/numpy/core/include -I/tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80 -I/tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio/libjpeg/include -I/tmp/pip-install-hcvihhk_/jpegio_ddcbb810d5a64d05a44b5afe49185c80/jpegio -I/usr/local/include/python3.9 -c jpegio/componentinfo.cpp -o build/temp.linux-aarch64-cpython-39/jpegio/componentinfo.o -w -fPIC -m64
gcc: error: unrecognized command-line option ‘-m64’
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]

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

From the error message I suspected it was due to the additional argument for -m64 which traces back to the 64bit architecture detection in your setup.py

I tried to clone your repo and edit the setup.py such that -m64 was not used as an extra compiler argument. I tried making my own wheel which it successfully did compile this whl

jpegio-0.2.4-cp39-cp39-linux_aarch64.whl

however even after running a
pip install dist/jpegio-0.2.4-cp39-cp39-linux_aarch64.whl
of my wheel, upon running import jpegio, I get the >>> import jpegio
Traceback (most recent call last):
File "", line 1, in
File "/workspaces/jpegio/jpegio/init.py", line 7, in
from .componentinfo import ComponentInfo
ModuleNotFoundError: No module named 'jpegio.componentinfo'

I suspect this is due to the jpegio version 0.2.4 that it is building for me in the manual setup.py
perhaps if I had the 0.2.8 version for the manual setup.py it would probably work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant