Message ID | 20250303191621.2421906-1-martin.jansa@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [meta-oe] thin-provisioning-tools: use STAGING_LIBDIR_NATIVE variable for LIBCLANG_PATH | expand |
On Mon, Mar 3, 2025 at 11:16 AM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: > * hardcoding: > ${WORKDIR}/recipe-sysroot-native${libdir} > is just wrong when there is a better variable > > * This path won't be correct for multilib builds where target ${libdir} > might be e.g. /usr/lib32 while native libdir is /usr/lib. > > * use STAGING_LIBDIR_NATIVE variable which uses correct ${libdir_native} > > * fixes: > error: failed to run custom build command for `devicemapper-sys v0.3.0` > > Caused by: > process didn't exit successfully: > `lib32-thin-provisioning-tools/1.1.0/build/target/release/build/devicemapper-sys-88de590bc55acb43/build-script-build` > (exit status: 101) > --- stderr > thread 'main' panicked at > lib32-thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/bindgen-0.69.4/lib.rs:622 > :31: > Unable to find libclang: "couldn't find any valid shared libraries > matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', > 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path > where one of these files can be found (invalid: [])" > > Signed-off-by: Martin Jansa <martin.jansa@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 d0241c7016..1981a35934 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 > @@ -20,7 +20,7 @@ inherit pkgconfig > > DEPENDS += "udev libdevmapper libdevmapper-native clang-native" > > -export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" > +export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" Ah yes I had a hunch it will fail some usecases that’s for patch > export BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} > --target=${TARGET_SYS}" > > require ${BPN}-crates.inc > -- > 2.48.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#115729): > https://lists.openembedded.org/g/openembedded-devel/message/115729 > Mute This Topic: https://lists.openembedded.org/mt/111495180/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
On Mon, Mar 3, 2025 at 8:27 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > On Mon, Mar 3, 2025 at 11:16 AM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: >> >> * hardcoding: >> ${WORKDIR}/recipe-sysroot-native${libdir} >> is just wrong when there is a better variable >> >> * This path won't be correct for multilib builds where target ${libdir} >> might be e.g. /usr/lib32 while native libdir is /usr/lib. >> >> * use STAGING_LIBDIR_NATIVE variable which uses correct ${libdir_native} >> >> * fixes: >> error: failed to run custom build command for `devicemapper-sys v0.3.0` >> >> Caused by: >> process didn't exit successfully: `lib32-thin-provisioning-tools/1.1.0/build/target/release/build/devicemapper-sys-88de590bc55acb43/build-script-build` (exit status: 101) >> --- stderr >> thread 'main' panicked at lib32-thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/bindgen-0.69.4/lib.rs:622:31: >> Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])" >> >> Signed-off-by: Martin Jansa <martin.jansa@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 d0241c7016..1981a35934 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 >> @@ -20,7 +20,7 @@ inherit pkgconfig >> >> DEPENDS += "udev libdevmapper libdevmapper-native clang-native" >> >> -export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" >> +export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" > > > Ah yes I had a hunch it will fail some usecases that’s for patch Is there a reason why this change wasn't included in your master-next branch yet? Robert confirmed it in the other thread.
On 3/7/25 14:30, Martin Jansa wrote: > On Mon, Mar 3, 2025 at 8:27 PM Khem Raj <raj.khem@gmail.com> wrote: >> >> >> >> On Mon, Mar 3, 2025 at 11:16 AM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: >>> >>> * hardcoding: >>> ${WORKDIR}/recipe-sysroot-native${libdir} >>> is just wrong when there is a better variable >>> >>> * This path won't be correct for multilib builds where target ${libdir} >>> might be e.g. /usr/lib32 while native libdir is /usr/lib. >>> >>> * use STAGING_LIBDIR_NATIVE variable which uses correct ${libdir_native} >>> >>> * fixes: >>> error: failed to run custom build command for `devicemapper-sys v0.3.0` >>> >>> Caused by: >>> process didn't exit successfully: `lib32-thin-provisioning-tools/1.1.0/build/target/release/build/devicemapper-sys-88de590bc55acb43/build-script-build` (exit status: 101) >>> --- stderr >>> thread 'main' panicked at lib32-thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/bindgen-0.69.4/lib.rs:622:31: >>> Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])" >>> >>> Signed-off-by: Martin Jansa <martin.jansa@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 d0241c7016..1981a35934 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 >>> @@ -20,7 +20,7 @@ inherit pkgconfig >>> >>> DEPENDS += "udev libdevmapper libdevmapper-native clang-native" >>> >>> -export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" >>> +export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" >> >> >> Ah yes I had a hunch it will fail some usecases that’s for patch > > Is there a reason why this change wasn't included in your master-next > branch yet? > > Robert confirmed it in the other thread. Yes, and I can confirm that it can fix the errors you mentioned above. // Robert
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 d0241c7016..1981a35934 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 @@ -20,7 +20,7 @@ inherit pkgconfig DEPENDS += "udev libdevmapper libdevmapper-native clang-native" -export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" +export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" export BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" require ${BPN}-crates.inc
* hardcoding: ${WORKDIR}/recipe-sysroot-native${libdir} is just wrong when there is a better variable * This path won't be correct for multilib builds where target ${libdir} might be e.g. /usr/lib32 while native libdir is /usr/lib. * use STAGING_LIBDIR_NATIVE variable which uses correct ${libdir_native} * fixes: error: failed to run custom build command for `devicemapper-sys v0.3.0` Caused by: process didn't exit successfully: `lib32-thin-provisioning-tools/1.1.0/build/target/release/build/devicemapper-sys-88de590bc55acb43/build-script-build` (exit status: 101) --- stderr thread 'main' panicked at lib32-thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/bindgen-0.69.4/lib.rs:622:31: Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])" Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- .../thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)