Message ID | 20250227165742.1727454-1-skandigraun@gmail.com |
---|---|
State | New |
Headers | show |
Series | [meta-oe,v2] thin-provisioning-tools: add target and sysroot to bindgen flags | expand |
On Thu, Feb 27, 2025 at 8:57 AM Gyorgy Sarvari via lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org> wrote: > > BUILD_CFLAGS doesn't contain information about the recipe sysroot nor about the target > system - and in case these are not specified for bindgen, then it builds against > the build system's headers, using the build system's arch. > > Instead of BUILD_CFLAGS pass TOOLCHAIN_OPTIONS, which has the contains the sysroot > already, and pass the target flag. > > Fixes the following do_compile error: > > | /usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found > | thread 'main' panicked at /yocto/sandbox/build/tmp/work/cortexa72-poky-linux/thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/devicemapper-sys-0.3.0/build.rs:24:10: > | Could not generate dm.h bindings: ClangDiagnostic("/usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found\n") > > Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> > --- > .../thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb b/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb > index bb4b53c28b..1526a33f8d 100644 > --- a/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb > +++ b/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb > @@ -21,7 +21,7 @@ inherit pkgconfig > DEPENDS += "udev libdevmapper libdevmapper-native clang-native" > > export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" > -export BINDGEN_EXTRA_CLANG_ARGS = "${BUILD_CFLAGS}" > +export BINDGEN_EXTRA_CLANG_ARGS = "${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" We need --target too yes, lets use ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} here that should replicate target cross compiler options > > require ${BPN}-crates.inc > require ${BPN}-git-crates.inc > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#115695): https://lists.openembedded.org/g/openembedded-devel/message/115695 > Mute This Topic: https://lists.openembedded.org/mt/111418497/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb b/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb index bb4b53c28b..1526a33f8d 100644 --- a/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb +++ b/meta-oe/dynamic-layers/clang-layer/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb @@ -21,7 +21,7 @@ inherit pkgconfig DEPENDS += "udev libdevmapper libdevmapper-native clang-native" export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" -export BINDGEN_EXTRA_CLANG_ARGS = "${BUILD_CFLAGS}" +export BINDGEN_EXTRA_CLANG_ARGS = "${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" require ${BPN}-crates.inc require ${BPN}-git-crates.inc
BUILD_CFLAGS doesn't contain information about the recipe sysroot nor about the target system - and in case these are not specified for bindgen, then it builds against the build system's headers, using the build system's arch. Instead of BUILD_CFLAGS pass TOOLCHAIN_OPTIONS, which has the contains the sysroot already, and pass the target flag. Fixes the following do_compile error: | /usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found | thread 'main' panicked at /yocto/sandbox/build/tmp/work/cortexa72-poky-linux/thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/devicemapper-sys-0.3.0/build.rs:24:10: | Could not generate dm.h bindings: ClangDiagnostic("/usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found\n") Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- .../thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)