diff options
author | Sam Van Den Berge <sam.van.den.berge@gmail.com> | 2021-06-17 09:26:16 +0200 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2021-07-13 21:27:07 -0700 |
commit | 82cca6d4edd3bb3a3d888f2647d43256b5f4691c (patch) | |
tree | a5b98286c5381bd519fe61519c6cf01f9f4a3d21 | |
parent | f52ce99b468eff95b6e36caf41fb50808a26f8d5 (diff) | |
download | meta-openembedded-82cca6d4edd3bb3a3d888f2647d43256b5f4691c.tar.gz |
libiio: fix installing libiio when python3 bindings are enabled
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 51f98865da0. 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: Armin Kuster <akuster808@gmail.com>
-rw-r--r-- | meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch | 37 | ||||
-rw-r--r-- | meta-oe/recipes-support/libiio/libiio_git.bb | 4 |
2 files changed, 40 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch b/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch new file mode 100644 index 0000000000..5566aa0ffd --- /dev/null +++ b/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 3a26f0536706fa7c241c9de986799ae440c68c8a Mon Sep 17 00:00:00 2001 | ||
2 | From: Julien Malik <julien.malik@unseenlabs.fr> | ||
3 | Date: Mon, 27 Jul 2020 14:34:44 +0200 | ||
4 | Subject: [PATCH] python: Do not verify whether libiio is installed when | ||
5 | cross-compiling | ||
6 | |||
7 | This should fix #561 | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | |||
11 | Signed-off-by: Julien Malik <julien.malik@paraiso.me> | ||
12 | Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com> | ||
13 | --- | ||
14 | bindings/python/setup.py.cmakein | 7 +++++++ | ||
15 | 1 file changed, 7 insertions(+) | ||
16 | |||
17 | diff --git a/bindings/python/setup.py.cmakein b/bindings/python/setup.py.cmakein | ||
18 | index cd14e2e..96d58a8 100644 | ||
19 | --- a/bindings/python/setup.py.cmakein | ||
20 | +++ b/bindings/python/setup.py.cmakein | ||
21 | @@ -54,6 +54,13 @@ class InstallWrapper(install): | ||
22 | install.run(self) | ||
23 | |||
24 | def _check_libiio_installed(self): | ||
25 | + cross_compiling = ("${CMAKE_CROSSCOMPILING}" == "TRUE") | ||
26 | + if cross_compiling: | ||
27 | + # When cross-compiling, we generally cannot dlopen | ||
28 | + # the libiio shared lib from the build platform. | ||
29 | + # Simply skip this check in that case. | ||
30 | + return | ||
31 | + | ||
32 | from platform import system as _system | ||
33 | from ctypes import CDLL as _cdll | ||
34 | from ctypes.util import find_library | ||
35 | -- | ||
36 | 2.25.1 | ||
37 | |||
diff --git a/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-oe/recipes-support/libiio/libiio_git.bb index 00c016db44..d7e4cc60a9 100644 --- a/meta-oe/recipes-support/libiio/libiio_git.bb +++ b/meta-oe/recipes-support/libiio/libiio_git.bb | |||
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" | |||
7 | SRCREV = "565bf68eccfdbbf22cf5cb6d792e23de564665c7" | 7 | SRCREV = "565bf68eccfdbbf22cf5cb6d792e23de564665c7" |
8 | PV = "0.21+git${SRCPV}" | 8 | PV = "0.21+git${SRCPV}" |
9 | 9 | ||
10 | SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https" | 10 | SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https \ |
11 | file://0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch \ | ||
12 | " | ||
11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 13 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
12 | 14 | ||
13 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |