From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: openembedded-core@lists.openembedded.org,
Liu Yiding <liuyd.fnst@fujitsu.com>
Subject: Re: [PATCH v2 0/7] clang-merge: Bring clang recipes from meta-clang
Date: Sat, 26 Apr 2025 03:26:43 +0300 [thread overview]
Message-ID: <9f7e4e2e-945e-4edd-850c-e084e2a0a4a6@oss.qualcomm.com> (raw)
In-Reply-To: <dc91ce00-80e7-4bca-8539-9dd39d1d97c0@gmail.com>
On 26/04/2025 00:18, Khem Raj wrote:
> On 4/25/25 4:18 AM, Dmitry Baryshkov wrote:
>> On Fri, Apr 25, 2025 at 02:04:53PM +0300, Dmitry Baryshkov wrote:
>>> On Fri, Apr 25, 2025 at 01:27:45PM +0300, Dmitry Baryshkov wrote:
>>>> On Thu, Apr 24, 2025 at 10:43:21PM -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>
>>>>
>>>> With the following lines in local.conf I got the RPROVIDES error:
>>>>
>>>> PACKAGECONFIG:append:pn-mesa = " opencl libclc gallium-llvm "
>>>> PACKAGECONFIG:append:pn-mesa-native = " opencl libclc gallium-llvm "
>>>> PACKAGECONFIG:append:pn-nativesdk-mesa = " opencl libclc gallium-llvm "
>>>>
>>>> $ DISTRO=poky MACHINE=qemux86-64 bitbake mesa
>>>>
>>>> ERROR: Nothing RPROVIDES 'spirv-llvm-translator' (but /home/lumag/
>>>> Projects/RPB/build-rpb/conf/../../layers/openembedded-core/meta/
>>>> recipes-graphics/mesa/mesa.bb RDEPENDS on or otherwise requires it)
>>>> NOTE: Runtime target 'spirv-llvm-translator' is unbuildable,
>>>> removing...
>>>> Missing or unbuildable dependency chain was: ['spirv-llvm-translator']
>>>> ERROR: Required build target 'mesa' has no buildable providers.
>>>> Missing or unbuildable dependency chain was: ['mesa', 'spirv-llvm-
>>>> translator']
>>>
>>> After adding the RPROVIDES for libclc and spirv-llvm-translator, the
>>> same command fails with:
>>>
>>> ERROR: mesa-2_25.0.2-r0 do_package_qa: QA Issue: File /usr/lib/
>>> libMesaOpenCL.so.1.0.0 in package libopencl-mesa contains reference
>>> to TMPDIR [buildpaths]
>
> I can see this on qemux86-64 as well.
>
>>> ERROR: mesa-2_25.0.2-r0 do_package_qa: Fatal QA errors were found,
>>> failing task.
>>> ERROR: Logfile of failure stored in: /home/lumag/Projects/RPB/build-
>>> rpb/tmp-poky/work/core2-64-poky-linux/mesa/25.0.2/temp/
>>> log.do_package_qa.3491435
>>> ERROR: Task (/home/lumag/Projects/RPB/build-rpb/conf/../../layers/
>>> openembedded-core/meta/recipes-graphics/mesa/mesa.bb:do_package_qa)
>>> failed with exit code '1'
>>
>> As with the v1, building with the RPROVIDES and PACKAGECONFIG being set
>> for poky/qemuarm64 fails with:
>>
>> /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 f
>> ound
>> 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/Den
>> seMapInfo.h:17:10: fatal error: 'cassert' file not found
>>
>
> this header comes from C++ runtime package either libstdc++ or libcxx,
> do you still see this with v2 series ?
Yes, I've been running the test against v2 + RPROVIDES
--
With best wishes
Dmitry
prev parent reply other threads:[~2025-04-26 0:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-25 5:43 [PATCH v2 0/7] clang-merge: Bring clang recipes from meta-clang Khem Raj
2025-04-25 5:43 ` [PATCH v2 1/7] cmake.bbclass: Enhance to emit a native toolchain cmake file Khem Raj
2025-04-25 5:43 ` [PATCH v2 2/7] toolchain/clang: Remove duplicate RANLIB setting Khem Raj
2025-04-25 5:43 ` [PATCH v2 3/7] sstatesig: Handle special case of llvm-project-source shared-workdir Khem Raj
2025-04-25 5:43 ` [PATCH v2 4/7] multilib.conf: Add llvm-project-source recipe to NON_MULTILIB_RECIPES Khem Raj
2025-04-25 5:43 ` [PATCH v2 5/7] kernel-arch.bbclass: Do not use weak assignment for TOOLCHAIN Khem Raj
2025-04-25 5:43 ` [PATCH v2 6/7] clang: Merge llvm/clang family recipes from meta-clang Khem Raj
2025-04-25 5:43 ` [PATCH v2 7/7] maintainers.inc: Add myself as maintainer for clang family of recipes Khem Raj
2025-04-25 10:27 ` [PATCH v2 0/7] clang-merge: Bring clang recipes from meta-clang Dmitry Baryshkov
2025-04-25 11:04 ` Dmitry Baryshkov
2025-04-25 11:18 ` Dmitry Baryshkov
2025-04-25 21:18 ` Khem Raj
2025-04-26 0:26 ` Dmitry Baryshkov [this message]
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=9f7e4e2e-945e-4edd-850c-e084e2a0a4a6@oss.qualcomm.com \
--to=dmitry.baryshkov@oss.qualcomm.com \
--cc=liuyd.fnst@fujitsu.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/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.