This needs to be handled with care. We rely heavily on openmp support in rpm to speed up rpm operations; adding an option to turn it off is okay, but actually turning it off is not.
Alex On Mon 26. Feb 2024 at 15.29, Martin Jansa <[email protected]> wrote: > * and keep it enabled in target builds unless libc-musl where it was > disabled since upgrade to 4.15.1 in: > > https://git.openembedded.org/openembedded-core/commit/?id=67257ca87c6fa8e6050a20ecea50daf834c7e869 > and disable it for native builds to be able to reuse rpm-native > between hosts with libomp and without to avoid do_package failures like: > recipe-sysroot-native/usr/lib/rpm/rpmdeps: error while loading shared > libraries: libgomp.so.1: cannot open shared object file: No such file or > directory > > * and on hosts without libomp it fails in do_configure: > | CMake Error at > /OE/build/tmp-glibc/work/x86_64-linux/rpm-native/4.19.1/recipe-sysroot-native/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 > (message): > | Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) > | (Required is at least version "4.5") > > * I've noticed this in new experimental gentoo profiles which don't > enable openmp by default for gcc-13 and newer, see: > https://bugs.gentoo.org/890999 > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8189b4b48c25dbd7b330b51b53f9023cdbbb29ec > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d882482714698d6d9b765920cd26bbe849336d > > I'm not sure what other distributions plan with openmp support in future > (and this profile is just experimental and the decision not to enable > openmp by default might still change), but having the PACKAGECONFIG > at least gives easy way to explicitly enable/disable this in bbappend > > openmp is also explicitly disabled in gettext since 2011: > > https://git.openembedded.org/openembedded-core/commit/?id=e897103a58ad672cc87d2bab3ec45501ef09f8f1 > > Signed-off-by: Martin Jansa <[email protected]> > --- > meta/recipes-devtools/rpm/rpm_4.19.1.bb | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-devtools/rpm/rpm_4.19.1.bb > b/meta/recipes-devtools/rpm/rpm_4.19.1.bb > index 1f8611a29c..477e1c2d62 100644 > --- a/meta/recipes-devtools/rpm/rpm_4.19.1.bb > +++ b/meta/recipes-devtools/rpm/rpm_4.19.1.bb > @@ -52,7 +52,7 @@ DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils > python3 sqlite3 zstd" > DEPENDS:append:class-native = " file-replacement-native > bzip2-replacement-native" > > EXTRA_OECMAKE:append = " -D__CURL:FILEPATH=curl" > -EXTRA_OECMAKE:append:libc-musl = " -DENABLE_NLS=OFF -DENABLE_OPENMP=OFF" > +EXTRA_OECMAKE:append:libc-musl = " -DENABLE_NLS=OFF" > > # --sysconfdir prevents rpm from attempting to access machine-specific > configuration in sysroot/etc; we need to have it in rootfs > # --localstatedir prevents rpm from writing its database to native > sysroot when building images > @@ -64,10 +64,15 @@ OECMAKE_GENERATOR = "Unix Makefiles" > > BBCLASSEXTEND = "native nativesdk" > > -PACKAGECONFIG ??= "internal-openpgp" > +PACKAGECONFIG_OPENMP = "openmp" > +PACKAGECONFIG_OPENMP:libc-musl = "" > +PACKAGECONFIG_OPENMP:class-native = "" > + > +PACKAGECONFIG ??= "internal-openpgp ${PACKAGECONFIG_OPENMP}" > > PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" > PACKAGECONFIG[testsuite] = "-DENABLE_TESTSUITE=ON,-DENABLE_TESTSUITE=OFF" > +PACKAGECONFIG[openmp] = "-DENABLE_OPENMP=ON,-DENABLE_OPENMP=OFF" > > # Deprecated! https://fedoraproject.org/wiki/Changes/RpmSequoia > PACKAGECONFIG[internal-openpgp] = > "-DWITH_INTERNAL_OPENPGP=ON,-DWITH_INTERNAL_OPENPGP=OFF" > -- > 2.44.0 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196206): https://lists.openembedded.org/g/openembedded-core/message/196206 Mute This Topic: https://lists.openembedded.org/mt/104582694/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
