apache / arrow

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
https://arrow.apache.org/
Apache License 2.0
13.87k stars 3.38k forks source link

[Python] `pyarrow` fails to install on PowerPC because Python (?) does not recognize the target: `not a supported wheel on this platform` #43067

Open barracuda156 opened 5 days ago

barracuda156 commented 5 days ago

Describe the bug, including details regarding any error messages, version, and platform.

I tried to build pyarrow on my PowerPC machine and got the following error at destroot:

Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/arrow-16.1.0/python" && pip-3.11 install --ignore-installed --no-cache-dir --no-dependencies --root /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/arrow-16.1.0/python/dist/pyarrow-16.1.0-cp311-cp311-macosx_10_6_ppc.whl 
ERROR: pyarrow-16.1.0-cp311-cp311-macosx_10_6_ppc.whl is not a supported wheel on this platform.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/arrow-16.1.0/python" && pip-3.11 install --ignore-installed --no-cache-dir --no-dependencies --root /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_apache-arrow/py311-pyarrow/work/arrow-16.1.0/python/dist/pyarrow-16.1.0-cp311-cp311-macosx_10_6_ppc.whl 
Exit code: 1

I am pretty sure this is something silly like a definition is missing somewhere, but I do not know where to look. Could you help me?

The build itself works, AFAICT, we only need to allow it to install.

Component(s)

Python

assignUser commented 5 days ago

Could you run python -c 'import sysconfig; print(sysconfig.get_platform())' to check what platform tag your python expects?

barracuda156 commented 5 days ago

@assignUser Sure,

36-25% /opt/local/bin/python3.12 -c 'import sysconfig; print(sysconfig.get_platform())'
macosx-10.6-ppc
assignUser commented 5 days ago

/opt/local/bin/python3.12 vs cp311 is probably the issue

barracuda156 commented 5 days ago

Oh no, that build was done with python3.11. And it outputs the same:

36-25% /opt/local/bin/python3.11 -c 'import sysconfig; print(sysconfig.get_platform())'
macosx-10.6-ppc

Initially I thought it may be pip, but apparently its source code is aware of ppc being supported on 10.6.

assignUser commented 5 days ago

Ah sorry I thought you were installing with 3.12 but missed pip-3.11 install that was the only thing I could see that didn't match... maybe try with with absolute path to python binary and -m pip to make sure there is no issue there? Sorry I don't really see anything else afaik this rejection is only based on the platform tag/wheel name