All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.