piwheels / packages

Issue tracker for piwheels package issues
https://github.com/piwheels/packages/issues
20 stars 5 forks source link

Problem with package: webrtc-noise-gain #398

Open MichaIng opened 8 months ago

MichaIng commented 8 months ago

Package name

webrtc-noise-gain

Package version

1.2.3

PyPI URL

https://pypi.org/project/webrtc-noise-gain/

piwheels URL

https://www.piwheels.org/project/webrtc-noise-gain/

Python version

I am aware this is the issue tracker for a Python package index specifically for Raspberry Pi

I have checked for duplicate issues

I am the maintainer

More information

The current wheel is not compatible with ARMv6. Using it, causes a SIGILL on ARMv6 RPi models. For reference: https://github.com/MichaIng/DietPi/issues/6683

Compiling the same wheel from source solves the issue.

Is there a way via API/website to check the build logs? Hopefully we are able to identify at which stage probably an ARMv7-only flag/option is set/passed within the toolchain. I did not test it on ARMv7 yet, but I get it is an ARMv7 vs ARMv6 issue.

bennuttall commented 8 months ago

What caused the build to create an armv7-only wheel?

MichaIng commented 8 months ago

I have no idea. This is just an assumption. The build logs hopefully reveal something.

bennuttall commented 8 months ago

https://piwheels.org/logs/0000/1090/4691.txt

MichaIng commented 8 months ago

Indeed it looks for (but skipping as of --no-binary) ARMv7 wheels and then also compiles it as ARMv7 wheel+binaries with NEON:

2023-10-02T06:46:43,010   Skipping link: No binaries permitted for webrtc-noise-gain: .../webrtc_noise_gain-1.2.2-cp311-cp311-linux_armv7l.whl
2023-10-02T06:47:10,873   creating build/lib.linux-armv7l-cpython-311
2023-10-02T06:47:10,873   creating build/lib.linux-armv7l-cpython-311/webrtc_noise_gain
2023-10-02T06:47:11,310   arm-linux-gnueabihf-gcc .../webrtc-audio-processing ... -o build/temp.linux-armv7l-cpython-311/... -DWEBRTC_ARCH_ARM_V7 ... -DWEBRTC_HAS_NEON -mfpu=neon

Strange that it happens here, but not in other builds? I wonder whether there is a way to tell pip a host triple and assure to have it passed through along the toolchain.