| Message ID | 20250918030540.2172994-1-raj.khem@gmail.com |
|---|---|
| State | Accepted, archived |
| Commit | d5fa7bc2dfa7f618a742c76d20fba4437f2cdecf |
| Headers | show |
| Series | clang: Fix nativesdk build after recipe splits | expand |
Hello, Khem On 9/18/25 05:05, Khem Raj via lists.openembedded.org wrote: > Splitting llvm, tblgen into their own recipes means we > have to ensure nativesdk clang build can find these tools > in native sysroot, which is would previously build and use > on its own. > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > Cc: Ross Burton <ross.burton@arm.com> > --- > meta/recipes-devtools/clang/clang_git.bb | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb > index 9e977379325..bcc799f286b 100644 > --- a/meta/recipes-devtools/clang/clang_git.bb > +++ b/meta/recipes-devtools/clang/clang_git.bb > @@ -78,6 +78,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ > > EXTRA_OECMAKE:append:class-nativesdk = "\ > -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ > + -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ > + -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${STAGING_BINDIR_NATIVE}/clang-tidy-confusable-chars-gen \ > -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ > -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ > -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#223625): https://lists.openembedded.org/g/openembedded-core/message/223625 > Mute This Topic: https://lists.openembedded.org/mt/115304299/8026893 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [joaomarcos.costa@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- > I spotted this error in the autobuilder: https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/2266/steps/12/logs/stdio Could you please take a look? Thanks!
On Thu, Sep 18, 2025 at 1:31 AM Joao Marcos Costa < joaomarcos.costa@bootlin.com> wrote: > Hello, Khem > > On 9/18/25 05:05, Khem Raj via lists.openembedded.org wrote: > > Splitting llvm, tblgen into their own recipes means we > > have to ensure nativesdk clang build can find these tools > > in native sysroot, which is would previously build and use > > on its own. > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > > Cc: Ross Burton <ross.burton@arm.com> > > --- > > meta/recipes-devtools/clang/clang_git.bb | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/meta/recipes-devtools/clang/clang_git.bb > b/meta/recipes-devtools/clang/clang_git.bb > > index 9e977379325..bcc799f286b 100644 > > --- a/meta/recipes-devtools/clang/clang_git.bb > > +++ b/meta/recipes-devtools/clang/clang_git.bb > > @@ -78,6 +78,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ > > > > EXTRA_OECMAKE:append:class-nativesdk = "\ > > > -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' > \ > > + > -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ > > + > -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${STAGING_BINDIR_NATIVE}/clang-tidy-confusable-chars-gen > \ > > > -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ > > > -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ > > > -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#223625): > https://lists.openembedded.org/g/openembedded-core/message/223625 > > Mute This Topic: https://lists.openembedded.org/mt/115304299/8026893 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > joaomarcos.costa@bootlin.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > > > > I spotted this error in the autobuilder: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/2266/steps/12/logs/stdio > > Could you please take a look? > Thanks! > Logs are showing clang-native failure while the change in this patch is limited to nativesdk clang. So it is unrelated to this patch However change seems to be related to llvm recipe separation series since clang is building this tool during its build and trying to use it from its build area but it’s perhaps not finding libllvm from native sysroot > > -- > Best regards, > João Marcos Costa >
On Thu, Sep 18, 2025 at 8:42 AM Khem Raj <raj.khem@gmail.com> wrote: > > > > On Thu, Sep 18, 2025 at 1:31 AM Joao Marcos Costa <joaomarcos.costa@bootlin.com> wrote: >> >> Hello, Khem >> >> On 9/18/25 05:05, Khem Raj via lists.openembedded.org wrote: >> > Splitting llvm, tblgen into their own recipes means we >> > have to ensure nativesdk clang build can find these tools >> > in native sysroot, which is would previously build and use >> > on its own. >> > >> > Signed-off-by: Khem Raj <raj.khem@gmail.com> >> > Cc: Ross Burton <ross.burton@arm.com> >> > --- >> > meta/recipes-devtools/clang/clang_git.bb | 2 ++ >> > 1 file changed, 2 insertions(+) >> > >> > diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb >> > index 9e977379325..bcc799f286b 100644 >> > --- a/meta/recipes-devtools/clang/clang_git.bb >> > +++ b/meta/recipes-devtools/clang/clang_git.bb >> > @@ -78,6 +78,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ >> > >> > EXTRA_OECMAKE:append:class-nativesdk = "\ >> > -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ >> > + -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ >> > + -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${STAGING_BINDIR_NATIVE}/clang-tidy-confusable-chars-gen \ >> > -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ >> > -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ >> > -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ >> > >> > >> > >> > -=-=-=-=-=-=-=-=-=-=-=- >> > Links: You receive all messages sent to this group. >> > View/Reply Online (#223625): https://lists.openembedded.org/g/openembedded-core/message/223625 >> > Mute This Topic: https://lists.openembedded.org/mt/115304299/8026893 >> > Group Owner: openembedded-core+owner@lists.openembedded.org >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [joaomarcos.costa@bootlin.com] >> > -=-=-=-=-=-=-=-=-=-=-=- >> > >> >> >> I spotted this error in the autobuilder: >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/2266/steps/12/logs/stdio >> >> Could you please take a look? >> Thanks! > > > Logs are showing clang-native failure while the change in this patch is limited to nativesdk clang. So it is unrelated to this patch > > However change seems to be related to llvm recipe separation series since clang is building this tool during its build and trying to use it from its build area but it’s perhaps not finding libllvm from native sysroot I poked at the worker on AB where it is failing, I think there is a cmake patch which is problematic. https://patchwork.yoctoproject.org/project/oe-core/patch/20250915145134.192581-1-ross.burton@arm.com/ clang builds some tools during build and links them to in-tree libLLVM if it is built in monolithic builds ( which we do ) and this option omits build time rpaths which causes this problem. >> >> >> -- >> Best regards, >> João Marcos Costa
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index 9e977379325..bcc799f286b 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb @@ -78,6 +78,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ EXTRA_OECMAKE:append:class-nativesdk = "\ -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ + -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ + -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${STAGING_BINDIR_NATIVE}/clang-tidy-confusable-chars-gen \ -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
Splitting llvm, tblgen into their own recipes means we have to ensure nativesdk clang build can find these tools in native sysroot, which is would previously build and use on its own. Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@arm.com> --- meta/recipes-devtools/clang/clang_git.bb | 2 ++ 1 file changed, 2 insertions(+)