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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox