This seems to be mixing native python headers in target build causing
do_compile_ptest_base failure in some builds (seen in multilib builds but
maybe it can be reproduced in regular 32bit target on 64bit build host):

building 'tests.gpiosim._ext' extension
creating /tmp/libgpiod-5k0x8gv3/tests
creating /tmp/libgpiod-5k0x8gv3/tests/gpiosim
ccache arm-oemllib32-linux-gnueabi-gcc -mthumb -mfpu=neon
-mfloat-abi=softfp -mcpu=cortex-a9 -mtune=cortex-a9
-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
-Werror=format-security -Werror=return-type -funwind-tables -D_TIME_BITS=64
-D_FILE_OFFSET_BITS=64
--sysroot=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/lib32-recipe-sysroot
-DNDEBUG -g -O3 -Wall
-isystemTOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native/usr/include
-O2 -pipe
-isystemTOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native/usr/include
-O2 -pipe -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map
-fmacro-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/gpiod-2.1.3=/usr/src/debug/lib32-python3-gpiod/2.1.3-r0
-fdebug-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/gpiod-2.1.3=/usr/src/debug/lib32-python3-gpiod/2.1.3-r0
-fmacro-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/gpiod-2.1.3=/usr/src/debug/lib32-python3-gpiod/2.1.3-r0
-fdebug-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/gpiod-2.1.3=/usr/src/debug/lib32-python3-gpiod/2.1.3-r0
-fdebug-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/lib32-recipe-sysroot=
-fmacro-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/lib32-recipe-sysroot=
-fdebug-prefix-map=TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native=
-fPIC -D_GNU_SOURCE=1 -I../../include -I../../tests/gpiosim
-ITOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native/usr/include/python3.11
-c tests/gpiosim/ext.c -o /tmp/libgpiod-5k0x8gv3/tests/gpiosim/ext.o -Wall
-Wextra
In file included from
TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native/usr/include/python3.11/Python.h:38,
                 from tests/gpiosim/ext.c:5:
TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-python3-gpiod/2.1.3/recipe-sysroot-native/usr/include/python3.11/pyport.h:601:2:
error: #error "LONG_BIT definition appears wrong for platform (bad
gcc/glibc config?)."
  601 | #error "LONG_BIT definition appears wrong for platform (bad
gcc/glibc config?)."
      |  ^~~~~

On Thu, Nov 9, 2023 at 9:47 PM Bartosz Golaszewski <b...@bgdev.pl> wrote:

> From: Bartosz Golaszewski <bartosz.golaszew...@linaro.org>
>
> The python bindings for libgpiod have undergone several significant
> changes that make them easier to use for users of pip. The libgpiod
> sources are now vendored with the python3-gpiod as the biggest complaint
> by far was the fact that if the system doesn't provide the correct
> version of libgpiod, the python bindings won't build.
>
> This is however irrelevant for the meta-python recipe as we use the
> provided switch to keep linking against the libgpiod provided by
> meta-openembedded.
>
> We have changed the way the tests are built, they are now generated by a
> separate build script and no longer by setup.py. The package now
> correctly build with the preferred pep517 method so change the inherited
> classes.
>
> We have also gained control over the gpiod module on pypi (which
> previously hosted a pure python GPIO library) so the location of the
> sources has changed.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszew...@linaro.org>
> ---
>  ...-gpiod_2.0.1.bb => python3-gpiod_2.1.3.bb} | 25 ++++++++++++-------
>  1 file changed, 16 insertions(+), 9 deletions(-)
>  rename meta-python/recipes-devtools/python/{python3-gpiod_2.0.1.bb =>
> python3-gpiod_2.1.3.bb} (54%)
>
> diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
> b/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
> similarity index 54%
> rename from meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
> rename to meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
> index ea8c18562..ef2f01fd4 100644
> --- a/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
> +++ b/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
> @@ -3,17 +3,18 @@ SUMMARY = "Python bindings for libgpiod."
>  LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
>  # The actual license files live in the upstream libgpiod from which the
> pypi
>  # package is spun out.
> -LIC_FILES_CHKSUM =
> "file://setup.py;beginline=57;endline=57;md5=120334ed83ec0cb248605e775bd13b87"
> +LIC_FILES_CHKSUM =
> "file://setup.py;beginline=237;endline=237;md5=f5ddb56912b7f20bf94aa4d1bdcd3533"
>
>  SRC_URI += "file://run-ptest"
>
> -SRC_URI[sha256sum] =
> "d5c0f9502e97e7359b9dd601e29f15d668983ce50f5c13323f3302845f790fa6"
> +SRC_URI[sha256sum] =
> "a33193d6cab79d252329f71666a35a3668e04f1f82bf9b93ee2c9ae852398b20"
>
> -inherit setuptools3 ptest pypi
> +inherit setuptools3-base python_pep517 ptest pypi
>
> -PYPI_PACKAGE = "libgpiod"
> -
> -DEPENDS += "libgpiod"
> +DEPENDS += " \
> +    libgpiod \
> +    python3-setuptools-native \
> +"
>  RDEPENDS:${PN} += " \
>      libgpiod (>= 2.0) \
>      python3-datetime \
> @@ -24,14 +25,20 @@ RDEPENDS:${PN}-ptest += " \
>      python3-setuptools \
>  "
>
> -export GPIOD_WITH_TESTS = "${@bb.utils.contains("PTEST_ENABLED", "1",
> "1", "0", d)}"
> +export LINK_SYSTEM_LIBGPIOD = "1"
> +
> +do_compile_ptest() {
> +    ${STAGING_BINDIR_NATIVE}/python3-native/python3 build_tests.py
> +}
>
>  do_install_ptest() {
>      install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim
>      install -d ${D}${PTEST_PATH}/gpiod-test/procname
>      install -m 0644 ${S}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/
> -    install -m 0644 ${B}/build/lib*/tests/gpiosim/_ext*
> ${D}${PTEST_PATH}/gpiod-test/gpiosim
> +    install -m 0644 ${B}/tests/gpiosim/_ext*
> ${D}${PTEST_PATH}/gpiod-test/gpiosim
>      install -m 0644 ${S}/tests/gpiosim/*.py
> ${D}${PTEST_PATH}/gpiod-test/gpiosim
> -    install -m 0644 ${B}/build/lib*/tests/procname/_ext*
> ${D}${PTEST_PATH}/gpiod-test/procname
> +    install -m 0644 ${B}/tests/procname/_ext*
> ${D}${PTEST_PATH}/gpiod-test/procname
>      install -m 0644 ${S}/tests/procname/*.py
> ${D}${PTEST_PATH}/gpiod-test/procname
>  }
> +
> +INSANE_SKIP:${PN}-ptest += "buildpaths"
> --
> 2.40.1
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#106749): 
https://lists.openembedded.org/g/openembedded-devel/message/106749
Mute This Topic: https://lists.openembedded.org/mt/102494202/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to