mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-03 20:54:42 +02:00
This patch fixes the following error when libiio is installed when
python3 bindings are enabled:
ERROR: Execution of '.../libiio/0.21+gitAUTOINC+565bf68ecc-r0/temp/run.do_install.2349473' failed with exit code 1:
running build
running build_py
running install
Traceback (most recent call last):
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/build/bindings/python/setup.py", line 77, in _check_libiio_installed
raise OSError
OSError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/build/bindings/python/setup.py", line 106, in <module>
setup(**config)
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/recipe-sysroot-native/usr/lib/python3.9/distutils/core.py", line 148, in setup
dist.run_commands()
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/recipe-sysroot-native/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/recipe-sysroot-native/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File ".../libiio/0.21+gitAUTOINC+565bf68ecc-r0/build/bindings/python/setup.py", line 52, in run
self._check_libiio_installed()
File "/libiio/0.21+gitAUTOINC+565bf68ecc-r0/build/bindings/python/setup.py", line 83, in _check_libiio_installed
raise Exception(msg)
Exception: The libiio library could not be found.
libiio needs to be installed first before the python bindings.
The latest release can be found on GitHub:
https://github.com/analogdevicesinc/libiio/releases
Some time ago a fix for this issue was already discussed here [1].
However in the same discussion also a second issue was being handled.
A fix for the second issue was merged in 51f98865da. The first issue
didn't pop up anymore and so a fix was never applied.
Recently however after switching from build machine, I started seeing
the first issue. I suspect due to build caching the first issue didn't
pop up anymore before up until now. With this patch, fixes are now
available for both issues handled in [1].
[1]: https://github.com/openembedded/meta-openembedded/issues/248
Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
72 lines
2.4 KiB
BlitzBasic
72 lines
2.4 KiB
BlitzBasic
SUMMARY = "Library for interfacing with IIO devices"
|
|
HOMEPAGE = "https://wiki.analog.com/resources/tools-software/linux-software/libiio"
|
|
SECTION = "libs"
|
|
LICENSE = "LGPLv2.1+"
|
|
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
|
|
|
|
SRCREV = "565bf68eccfdbbf22cf5cb6d792e23de564665c7"
|
|
PV = "0.21+git${SRCPV}"
|
|
|
|
SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https \
|
|
file://0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch \
|
|
"
|
|
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
|
|
|
|
S = "${WORKDIR}/git"
|
|
|
|
DISTUTILS_SETUP_PATH ?= "${B}/bindings/python/"
|
|
|
|
DEPENDS = " \
|
|
flex-native bison-native libaio \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
|
|
"
|
|
|
|
inherit cmake python3native systemd setuptools3
|
|
|
|
EXTRA_OECMAKE = " \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
|
|
"
|
|
|
|
PACKAGECONFIG ??= "usb_backend network_backend serial_backend"
|
|
|
|
PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2"
|
|
PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
|
|
PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2"
|
|
PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
|
|
|
|
PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
|
|
|
|
RDEPENDS_${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
|
|
|
|
FILES_${PN}-iiod = " \
|
|
${sbindir}/iiod \
|
|
${systemd_system_unitdir}/iiod.service \
|
|
"
|
|
FILES_${PN}-tests = "${bindir}"
|
|
FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
|
|
|
|
SYSTEMD_PACKAGES = "${PN}-iiod"
|
|
SYSTEMD_SERVICE_${PN}-iiod = "iiod.service"
|
|
|
|
# Explicitly define do_configure, do_compile and do_install because both cmake and setuptools3 have
|
|
# EXPORT_FUNCTIONS do_configure do_compile do_install
|
|
do_configure() {
|
|
cmake_do_configure
|
|
}
|
|
|
|
do_compile() {
|
|
if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
|
|
distutils3_do_compile
|
|
fi
|
|
cmake_do_compile
|
|
}
|
|
|
|
do_install() {
|
|
if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
|
|
distutils3_do_install
|
|
fi
|
|
cmake_do_install
|
|
}
|