python-psutil: not available on musl
PATCH 1/1 python-psutil: not available on musl
Fixes:
http://autobuild.buildroot.net/results/365/365c2f0b32ae3cb1d6d4d8f0145500dfadd05c59/
http://autobuild.buildroot.org/results/140/140d0ec9d94f75453c4c82e18803c8d7bffcf6be/
And many more.
The sysinfo structure definition in linux/sysinfo.h (which gets indirectly included from linux/kernel.h) conflicts with the definition in sys/sysinfo.h when building against the musl C library, leading to build failures:
arm-linux-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes \
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fPIC -DPSUTIL_VERSION=430 \
-c psutil/_psutil_linux.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_linux.o
In file included from /home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/kernel.h:4:0,
from /home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/ethtool.h:16,
from psutil/_psutil_linux.c:35:
/home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/sysinfo.h:7:8: error: redefinition of 'struct sysinfo'
struct sysinfo {
^In file included from psutil/_psutil_linux.c:21:0:/home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
The suggested solution by the musl developers is to duplicate the needed structures and defines inline instead of including the kernel headers, which is unlikely to be acceptable upstream - So instead mark python-psutil (and its reverse dependencies) as unavailable on musl.
--- package/circus/Config.in | 5 +++-- package/python-crossbar/Config.in | 5 +++-- package/python-psutil/Config.in | 5 +++++ 3 files changed, 11 insertions(+), 4 deletions(-)
package/circus/Config.in +3 -2
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CIRCUS depends on BR2_USE_WCHAR # pyzmq -> zeromq depends on BR2_INSTALL_LIBSTDCPP # pyzmq -> zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # pyzmq -> zeromq + depends on !BR2_TOOLCHAIN_USES_MUSL # python-psutil select BR2_PACKAGE_PYTHON_IOWAIT # runtime select BR2_PACKAGE_PYTHON_PSUTIL # runtime select BR2_PACKAGE_PYTHON_PYZMQ # runtime
@@ -15,7 +16,7 @@ config BR2_PACKAGE_CIRCUS https://circus.readthedocs.org/en/latest/ -comment "circus needs Python and a toolchain w/ C++, wchar, threads" +comment "circus needs Python and a uClibc or glibc toolchain w/ C++, wchar, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL \ !(BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3)
package/python-crossbar/Config.in +3 -2
@@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_CROSSBAR bool "python-crossbar" + depends on !BR2_TOOLCHAIN_USES_MUSL # python-psutil # All the following dependencies are runtime dependencies select BR2_PACKAGE_PYTHON_AUTOBAHN select BR2_PACKAGE_PYTHON_CBOR
@@ -39,5 +40,5 @@ config BR2_PACKAGE_PYTHON_CROSSBAR https://pypi.python.org/pypi/crossbar -comment "python-crossbar needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "python-crossbar needs a uClibc or glibc toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_TOOLCHAIN_USES_MUSL
package/python-psutil/Config.in +5 -0
@@ -1,8 +1,13 @@ config BR2_PACKAGE_PYTHON_PSUTIL bool "python-psutil" + # sys/sysinfo.h conflict with kernel headers + depends on !BR2_TOOLCHAIN_USES_MUSL help psutil is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. https://pypi.python.org/pypi/psutil + +comment "python-psutil needs a uClibc or glibc toolchain" + depends BR2_TOOLCHAIN_USES_MUSL
Signature · 1 line
2.9.3
PATCH 1/1 python-psutil: not available on musl
Quoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Peter" == Peter Korsgaard <[email protected]> writes:
Fixes:
http://autobuild.buildroot.net/results/365/365c2f0b32ae3cb1d6d4d8f0145500dfadd05c59/
http://autobuild.buildroot.org/results/140/140d0ec9d94f75453c4c82e18803c8d7bffcf6be/And many more.
Committed, thanks.
Signature · 2 lines
Venlig hilsen, Peter Korsgaard