Closed MichaIng closed 2 years ago
Recent versions of numpy require at least Python 3.8: https://pypi.org/project/numpy/
@bennuttall
This is why I mentioned version 1.21.5
, which is the latest version still supporting Python 3.7 (and 3.6) π. On Bullseye all is fine, but on Buster by default 1.21.5
is tried to be installed, and since no wheel exists, it is tried to be compiled, what I am unable to achieve until now. Even after all obvious compiler and development header packages have been installed (g++
which pulls gcc
and libc6-dev
, libatlas-base-dev
, libgfortran-8-dev
). And until an internal compiler error and abortion, it takes ages on older RPi models π’.
Oh sorry
Here's the build output: http://paste.debian.net/1230551/
It looks a bit odd to me. Perhaps it got built during the time we had an armv7 gcc due to a misconfiguration on the image. We only rebuilt successful builds after that got fixed, so it's worth trying again. Check back in an hour or so and it may have gone green. I'll check it later and see if anything changed.
Also if you are able to build it yourself locally, that would be good to know.
So far I failed to build it locally, gave up for today. Tried with cpython3
and different BLAS libraries+headers (after reading https://numpy.org/doc/1.21/user/building.html), additionally to the above mentioned packages, but it always failed with an internal compiler error at the final compiling step. I got a verbose error output, will do another run and post it. Probably you can get more info out of it than me. As of the error: Command "arm-linux-gnueabihf-gcc
is could be the same.
It's failed again so it looks like an error which probably won't get fixed, as they've moved on from that version.
For completeness, here the full log of my build attempt:
It matches yours, regarding this central (?) error:
numpy/core/src/umath/loops_trigonometric.dispatch.c.src:202:20: internal compiler error: in convert_move, at expr.c:218
Not sure whether other warnings are somehow related. I'll report upstream regardless, probably there is a solution. It's just nasty that at the moment on Buster ARMv6/7 systems every pip install fails which pulls in numpy as dependency without excluding v1.21.5 explicitly.
Here is a workaround:
# cat /etc/pip.conf
[global]
extra-index-url=https://www.piwheels.org/simple/
[install]
constraint=/etc/pip-constraints.txt
# cat /etc/pip-constraints.txt
numpy!=1.21.5; python_version=='3.7'
Reported π€: https://github.com/numpy/numpy/issues/21038
@bennuttall Btw, here are instructions about how to workaround the issue for Buster builds: https://github.com/numpy/numpy/issues/21038#issuecomment-1150727690
A fix has been implemented with latest numpy but not backported to v1.21, so that it does not apply to the build on Buster with Python 3.7.
Also, I have successfully built numpy 1.21.6 on Beaglebone Black using console image (https://debian.beagleboard.org/images/bone-debian-10.3-console-armhf-2020-04-06-1gb.img.xz) for the operating system. The same version build attempt fails with larger IoT image. I don't know what's the difference. They both are based on Debian Buster and use the same compiler version.
Package name
numpy
Package version
1.21.5
PyPI URL
https://pypi.org/project/numpy/
piwheels URL
https://piwheels.org/project/numpy/
Python version
I am the maintainer
More information
No response