| Summary: | llvm-config does not work any more with multilib | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Yann Dirson <ydirson> |
| Component: | devtools / tool chain | Assignee: | Yann Dirson <ydirson> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | meta.mr.watcher, meta.watcher, randy.macleod, richard.purdie |
| Version: | unspecified | ||
| Target Milestone: | 3.2 M4 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | backport 3.1 | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Yann Dirson
2020-06-11 03:18:22 UTC
Looks like they have a LLVM_LIBDIR_SUFFIX setable on meson command line, to cope with this naming scheme, but then it's dating back to 2014. Not sure why it breaks with dunfell and works with warrior... Are you doing to encounter the llvm-config error? Is that normally built? Maybe you can provide full build steps. "[OE-core] [PATCH] meson: backport library ordering fix" might fix this? I updated meson to the version that adds this fix master to master, but the problem is still there. As for how it is built, I "just" use our custom not-public-yet layer, which includes pieces of meta-amd (they have dropped support for amdfalconx86 long ago, and we need their packaging changes to allow building both the VA state tracker and va-x11). I'll try reproduce with a minimal deviation from poky. Submitted https://github.com/mesonbuild/meson/issues/7371 for meson bombing out instead of catching the error. The OE-level issue is only that llvm-config does not grok multi-lib. The problem triggers when PACKAGECONFIG "gallium-llvm" is activated on mesa, and multilib is active. It can be reproduced in a dunfell poky build for a qemux86-64 target, by adding this to local.conf: DISTRO_FEATURES_remove = "wayland nfs irda pcmcia usbgadget 3g nfc ptest bluetooth bluez5" DISTRO_FEATURES += "x11 opengl" PACKAGECONFIG_append_pn-mesa = " gallium-llvm" MULTILIBS ?= "" require conf/multilib.conf There is a patch in meta-amd that seems to address this: https://git.yoctoproject.org/cgit/cgit.cgi/meta-amd/tree/meta-amd-bsp/recipes-core/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch However, it does not seem to be sufficient, digging. Error on my seide, the patch in meta-amd works perfectly. Looks like this was fixed in meson so closing. If it's still affecting master or a release, please re-open and/or send a fix to the list. |