On 8/31/2026 1:15 AM, Khem Raj via lists.openembedded.org wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.


On Sun, Aug 30, 2026 at 5:59 AM <sunilkumar.dora@windriver.com> wrote:
From: Sunil Dora <sunilkumar.dora@windriver.com>

LLVM 23 removed the standalone build mode for openmp, so do_configure
fails with

  The legacy standalone build mode has been removed

Configure it through the runtimes build with LLVM_ENABLE_RUNTIMES=openmp,
the same way libcxx is built.

The runtimes build reads LLVM_LIBDIR_SUFFIX; nothing in LLVM 23 reads
OPENMP_LIBDIR_SUFFIX any more, so pass the standard variable like the
other clang-family recipes do. Without it openmp installs into lib/
while a multilib configuration packages lib64/, and do_package fails
with "installed but not shipped" for libomp.so, libarcher.so,
libompd.so and the cmake files.

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
 meta/recipes-devtools/clang/openmp_git.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/clang/openmp_git.bb b/meta/recipes-devtools/clang/openmp_git.bb
index 2ba83d48c6..90d4911623 100644
--- a/meta/recipes-devtools/clang/openmp_git.bb
+++ b/meta/recipes-devtools/clang/openmp_git.bb
@@ -18,10 +18,11 @@ inherit cmake pkgconfig python3targetconfig
 DEPENDS += "elfutils libffi clang"

 EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-                  -DOPENMP_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+                  -DLLVM_ENABLE_RUNTIMES=openmp \
+                  -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
   


The recipe keeps PACKAGECONFIG ?= "ompt-tools offloading-plugin" — under the runtimes entry point, does offloading-plugin still do anything, or would it now need offload added to LLVM_ENABLE_RUNTIMES?
It doesn't do anything for the build, and it didn't with the old entry point either. It passes no cmake flags and the build depends
are already in DEPENDS. So the only thing it really adds is the libelf/libffi RDEPENDS. Our libomp.so links only libc. 
The plugins that needed libffi/libelf moved out of openmp/ into offload/ back in LLVM 19, so nothing here builds them. 
The openmp-libomptarget package is empty, no ipk gets written. 

I only checked oe-core, other layers may still use this option, you know that history better than me.

OPENMP_ENABLE_LIBOMPTARGET still works though. It adds some hooks in libomp that look up libomptarget functions with dlsym at runtime.
Default is ON on 64-bit, the recipe doesn't touch it, and it is the same with both entry points.

To actually build the plugins we would need LLVM_ENABLE_RUNTIMES="openmp;offload". 
That is a new library and new packaging, so I did not want to mix it into the upgrade. 

As a follow-up I can keep the PACKAGECONFIG as is, drop it with the empty package, or add offload as a new option. 
Which one do you prefer?

Thanks,
Sunil Dora

 
               "

-OECMAKE_SOURCEPATH = "${S}/openmp"
+OECMAKE_SOURCEPATH = "${S}/runtimes"

 PACKAGECONFIG ?= "ompt-tools offloading-plugin"

--
2.43.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#244694): https://lists.openembedded.org/g/openembedded-core/message/244694
Mute This Topic: https://lists.openembedded.org/mt/120998125/8968818
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [SunilKumar.Dora@windriver.com]
-=-=-=-=-=-=-=-=-=-=-=-