mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2026-06-25 17:47:12 +02:00
The Intel oneAPI DPC++/C++ compiler binaries (icx, icpx) shipped by
meta-intel as prebuilt installers have a fixed default -target triple
baked into the LLVM driver. As of the 2025.3.x bundle the triple is
'x86_64-unknown-linux-gnu' (LLVM's portable default); prior 2024.x
bundles used 'x86_64-oe-linux' (matching the OpenEmbedded nodistro
default of TARGET_VENDOR=oe). icx also emits 'x86_64-linux-gnu' (the
Debian/Ubuntu host triple) in some search paths.
Yocto distros set TARGET_VENDOR differently: poky uses 'poky'
(TARGET_SYS=x86_64-poky-linux), nodistro uses 'oe', etc. The result
is a vendor-triple mismatch: icx looks for crtbeginS.o /
bits/c++config.h and similar files under one triple while they are
installed at another.
Until Intel either ships per-vendor variants or the meta-intel oneAPI
recipes patch the prebuilt binaries, install a set of compatibility
symlinks at rootfs time so every spelling of the multilib vendor
triple resolves to the same files on the image. The alias set is
configurable via ONEAPI_VENDOR_TRIPLE_ALIASES; entries that already
match the native target triple are skipped, so the class is a no-op
on images whose native vendor matches every alias.
Usage: add to IMAGE_CLASSES in a distro / local config that consumes
the Intel oneAPI compiler:
IMAGE_CLASSES += "oneapi-vendor-compat"
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||
|---|---|---|
| .. | ||
| oneapi-vendor-compat.bbclass | ||