Skip to content

libgpiod 1.6.4 Python bindings build failure #718

@dasch8

Description

@dasch8

Hi,

When building the Python bindings for libgpiod 1.6.4, the native Python headers are used instead of the one for the target. In my case I was building on an x86-64 build host for an armv7 target. The build failed with the following error during compilation:

libtool: compile:  arm-openbmc-linux-gnueabi-gcc -mfpu=vfpv3 -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../libgpiod-1.6.4/bindings/python -I../.. -I../../../libgpiod-1.6.4/include/ -Wall -Wextra -g -std=gnu89 -I/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot-native/usr/include/python3.11 -I/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot-native/usr/include/python3.11 -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/libgpiod-1.6.4=/usr/src/debug/libgpiod/1.6.4-r0 -fdebug-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/libgpiod-1.6.4=/usr/src/debug/libgpiod/1.6.4-r0 -fmacro-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/build=/usr/src/debug/libgpiod/1.6.4-r0 -fdebug-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/build=/usr/src/debug/libgpiod/1.6.4-r0 -fdebug-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot= -fmacro-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot-native= -c ../../../libgpiod-1.6.4/bindings/python/gpiodmodule.c  -fPIC -DPIC -o .libs/gpiod_la-gpiodmodule.o
In file included from /yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/recipe-sysroot-native/usr/include/python3.11/Python.h:38,
                 from ../../../libgpiod-1.6.4/bindings/python/gpiodmodule.c:8:
/yocto/buildir/tmp/work/cortexa9hf-vfpv3-openbmc-linux-gnueabi/libgpiod/1.6.4-r0/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?)."
      |  ^~~~~

Inheriting the python3targetconfig class instead of python3native fixes this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions