From: Khem Raj <raj.khem@gmail.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: openembedded-core@lists.openembedded.org,
Liu Yiding <liuyd.fnst@fujitsu.com>
Subject: Re: [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang
Date: Thu, 24 Apr 2025 17:44:03 -0700 [thread overview]
Message-ID: <0724d355-d683-4b4f-abd4-68c31bbef674@gmail.com> (raw)
In-Reply-To: <zvfx3kfrbicdbv424j4ustmrrjwjg7immyx4lp6ihrnwktgsks@rqy3zvo7xjai>
[-- Attachment #1.1.1: Type: text/plain, Size: 2907 bytes --]
On 4/24/25 3:04 AM, Dmitry Baryshkov wrote:
> On Thu, Apr 24, 2025 at 12:20:34AM -0700, Khem Raj wrote:
>> Latest mesa 25+ needs libclang during build for tools like mesa_clc,
>> we enahnced already existing llvm recipe to build pieces of clang as
>> well, which worked for mesa's needs but broke static clang compiler
>> provided by meta-clang due to newfound conflicts, since clang is now
>> built with llvm recipe from core and also by meta-clang and they
>> compete for same namespace, an attempt to make them co-habit did reveal
>> more difficulties. Clang compiler from meta-clang is not able to use
>> llvm libraries from core since they patch them differently.
>>
>> This patch series therefore brings clang and all recipes that build from
>> llvm sources into core. With this changeset, clang recipes can be removed
>> from meta-clang there is a pull request for that already [1]
>> As an aside, we only build clang once and use it for meta-clang needs
>> and core needs.
>>
>> With this, meta-clang can depend upon core layer to provide clang and
>> related recipes, meta-clang will still provide the toolchain policies
>> around clang based toolchains. Clang compiler from core, while usable
>> for mesa is not yet fully usable out of box, since we need to workout
>> the multi-toolchain architecture for core, which will be done in next
>> phase after this merge.
>>
>> [1] https://github.com/kraj/meta-clang/pull/1088
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> After fixing the RPROVIDES, this still fails the nativesdk-mesa build if
clang recipe does have this
PROVIDES:append:class-native = " llvm-native libclc-native
spirv-llvm-translator-native"
PROVIDES:append:class-target = " llvm libclc spirv-llvm-translator"
PROVIDES:append:class-nativesdk = " nativesdk-llvm nativesdk-libclc
nativesdk-spirv-llvm-translator"
I wonder why is RPROVIDE needed.
> I enable OpenCL.
>
> ERROR: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/libMesaOpenCL.so.1.0.0 in package nativesdk-libopencl-mesa contains reference to TMPDIR [buildpaths]
>
> While building OpenCL-enabled Mesa:
>
> /home/lumag/Projects/RPB/build-rpb/tmp-poky/work/cortexa57-poky-linux/mesa/25.0.2/recipe-sysroot/usr/include/llvm/ADT/DenseMapInfo.h:17:10: fatal error: 'cassert' file not found
> Unable to generate bindings: clang diagnosed error: /home/lumag/Projects/RPB/build-rpb/tmp-poky/work/cortexa57-poky-linux/mesa/25.0.2/recipe-sysroot/usr/include/llvm/ADT/DenseMapInfo.h:17:10: fatal error: 'cassert' file not found
>
I do not see this error for qemux86-64 here ( maybe it happens for arm64
targets alone ? ) I enabled opencl related pakageconfigs for
nativesdk-mesa I added this line
PACKAGECONFIG:append:class-nativesdk = " libclc gallium-llvm amd svga"
and nativesdk-mesa built just fine.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2613 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 203 bytes --]
next prev parent reply other threads:[~2025-04-25 0:44 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-24 7:20 [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang Khem Raj
2025-04-24 7:20 ` [PATCH 01/11] cmake-native.bbclass: Abstraction to use cmake with native toolchains Khem Raj
2025-04-24 10:48 ` [OE-core] " Alexander Kanavin
2025-04-25 0:38 ` Khem Raj
2025-04-24 7:20 ` [PATCH 02/11] llvm: Renamed to clang Khem Raj
2025-04-24 9:05 ` Dmitry Baryshkov
2025-04-24 16:59 ` Khem Raj
2025-04-24 7:20 ` [PATCH 03/11] maintainers.inc: Add myself as maintainer for clang family of recipes Khem Raj
2025-04-24 7:20 ` [PATCH 04/11] clang: Merge llvm/clang family recipes from meta-clang Khem Raj
2025-04-24 9:05 ` Dmitry Baryshkov
2025-04-25 1:29 ` Khem Raj
2025-04-25 8:42 ` Dmitry Baryshkov
2025-04-25 14:46 ` Khem Raj
2025-04-25 17:25 ` Dmitry Baryshkov
2025-04-24 9:18 ` Dmitry Baryshkov
2025-04-24 17:03 ` Khem Raj
2025-04-24 7:20 ` [PATCH 05/11] kernel-arch.bbclass: Do not use weak assignment for TOOLCHAIN Khem Raj
2025-04-24 7:20 ` [PATCH 06/11] clang: remove LLVM_LDFLAGS from llvm-config --ldflags output Khem Raj
2025-04-24 9:10 ` Dmitry Baryshkov
2025-04-24 18:20 ` Khem Raj
2025-04-24 7:20 ` [PATCH 07/11] clang.inc: Remove duplicate RANLIB setting Khem Raj
2025-04-24 7:20 ` [PATCH 08/11] clang: multilib-header fix for llvm-config.h Khem Raj
2025-04-24 9:06 ` Dmitry Baryshkov
2025-04-24 18:20 ` Khem Raj
2025-04-24 7:20 ` [PATCH 09/11] openmp: Omit time stamps from generated files Khem Raj
2025-04-24 7:20 ` [PATCH 10/11] sstatesig: Handle special case of llvm-project-source shared-workdir Khem Raj
2025-04-24 9:11 ` Dmitry Baryshkov
2025-04-24 18:21 ` Khem Raj
2025-04-24 7:20 ` [PATCH 11/11] multilib.conf: Add llvm-project-source recipe to NON_MULTILIB_RECIPES Khem Raj
2025-04-24 10:04 ` [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang Dmitry Baryshkov
2025-04-25 0:44 ` Khem Raj [this message]
2025-04-25 8:45 ` Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0724d355-d683-4b4f-abd4-68c31bbef674@gmail.com \
--to=raj.khem@gmail.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=liuyd.fnst@fujitsu.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox