diff mbox series

[meta-oe,v2] thin-provisioning-tools: add target and sysroot to bindgen flags

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

Commit Message

Gyorgy Sarvari Feb. 27, 2025, 4:57 p.m. UTC
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(-)

Comments

Khem Raj Feb. 27, 2025, 6:10 p.m. UTC | #1
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 mbox series

Patch

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