> Can you set up multilib and confirm that both lib32 and lib64 files
are identical?

I confirmed that the regular files under ssl-3 are identical between lib32 and 
lib64 builds:

$ find $(bitbake-getvar -r lib32-openssl D --value)/usr/*/ssl-3 
$(bitbake-getvar -r openssl D --value)/usr/*/ssl-3 -type f -exec md5sum {} \;
342671aac0dbc349ee5b5e64b3220f77  
tmp/work/x86-oemllib32-linux/lib32-openssl/3.5.7/image/usr/lib/ssl-3/misc/CA.pl
f1f8408c65b0dcc5b59a4d46dc57938e  
tmp/work/x86-oemllib32-linux/lib32-openssl/3.5.7/image/usr/lib/ssl-3/misc/tsget.pl
bfdc30bd205b6ca2c15a46b17721c6f2  
tmp/work/x86-oemllib32-linux/lib32-openssl/3.5.7/image/usr/lib/ssl-3/openssl.cnf.dist
5b561a90362b8eb9127c792c3f5902e0  
tmp/work/x86-oemllib32-linux/lib32-openssl/3.5.7/image/usr/lib/ssl-3/ct_log_list.cnf.dist
5b561a90362b8eb9127c792c3f5902e0  
tmp/work/x86-oemllib32-linux/lib32-openssl/3.5.7/image/usr/lib/ssl-3/ct_log_list.cnf
342671aac0dbc349ee5b5e64b3220f77  
tmp/work/x86-64-v3-oe-linux/openssl/3.5.7/image/usr/lib/ssl-3/misc/CA.pl
f1f8408c65b0dcc5b59a4d46dc57938e  
tmp/work/x86-64-v3-oe-linux/openssl/3.5.7/image/usr/lib/ssl-3/misc/tsget.pl
bfdc30bd205b6ca2c15a46b17721c6f2  
tmp/work/x86-64-v3-oe-linux/openssl/3.5.7/image/usr/lib/ssl-3/openssl.cnf.dist
5b561a90362b8eb9127c792c3f5902e0  
tmp/work/x86-64-v3-oe-linux/openssl/3.5.7/image/usr/lib/ssl-3/ct_log_list.cnf.dist
5b561a90362b8eb9127c792c3f5902e0  
tmp/work/x86-64-v3-oe-linux/openssl/3.5.7/image/usr/lib/ssl-3/ct_log_list.cnf

The remaining entries under ssl-3 are already symlinks to files in 
${sysconfdir}/ssl by the existing do_install():

    # Create SSL structure for packages such as ca-certificates which
    # contain hard-coded paths to /etc/ssl. Debian does the same.
    install -d ${D}${sysconfdir}/ssl
    mv ${D}${libdir}/ssl-3/certs \
       ${D}${libdir}/ssl-3/private \
       ${D}${libdir}/ssl-3/openssl.cnf \
       ${D}${sysconfdir}/ssl/

    # Although absolute symlinks would be OK for the target, they become
    # invalid if native or nativesdk are relocated from sstate.
    ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} 
${D}${libdir}/ssl-3/certs
    ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} 
${D}${libdir}/ssl-3/private
    ln -sf ${@oe.path.relative('${libdir}/ssl-3', 
'${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf


Best regards,
---
Jaeyoon Jung
Software Platform Lab. / Corporate R&D / LG Electronics Inc.


________________________________________
From: Alexander Kanavin <[email protected]>
Sent: Friday, August 14, 2026 20:19
To: 정재윤/Task Leader/SW Platform(연)선행Platform개발실 Lightweight System Task 
<[email protected]>
Cc: [email protected] 
<[email protected]>
Subject: Re: [OE-core] [PATCH] openssl: use nonarch_libdir for openssldir
 
I'm not sure. They are not binaries, but that does not mean they are
architecture independent, as they may contain settings for the
particular build of openssl, and in multilib setup those do need to go
to a architecture-specific directory to avoid installation conflicts.
Can you set up multilib and confirm that both lib32 and lib64 files
are identical?

Alex

On Fri, 14 Aug 2026 at 09:39, Jaeyoon Jung (LGE) via
lists.openembedded.org <[email protected]>
wrote:
>
> From: Jaeyoon Jung <[email protected]>
>
> Set openssldir to ${nonarch_libdir}/ssl-3 instead of ${libdir}/ssl-3
> since files in this directory are architecture-independent.
>
> Signed-off-by: Jaeyoon Jung <[email protected]>
> ---
>  .../openssl/openssl_3.5.7.bb                  | 28 +++++++++----------
>  1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl_3.5.7.bb 
> b/meta/recipes-connectivity/openssl/openssl_3.5.7.bb
> index b95c734f1d..2dd23c9da0 100644
> --- a/meta/recipes-connectivity/openssl/openssl_3.5.7.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_3.5.7.bb
> @@ -153,7 +153,7 @@ do_configure () {
>         PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)"
>         test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not 
>found!"
>         HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \
> -       perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} 
> ${DEPRECATED_CRYPTO_FLAGS} --prefix=${prefix} --openssldir=${libdir}/ssl-3 
> --libdir=${baselib} $target
> +       perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} 
> ${DEPRECATED_CRYPTO_FLAGS} --prefix=${prefix} 
> --openssldir=${nonarch_libdir}/ssl-3 --libdir=${baselib} $target
>         perl ${B}/configdata.pm --dump
>  }
>
> @@ -175,20 +175,20 @@ do_install () {
>         # Create SSL structure for packages such as ca-certificates which
>         # contain hard-coded paths to /etc/ssl. Debian does the same.
>         install -d ${D}${sysconfdir}/ssl
> -       mv ${D}${libdir}/ssl-3/certs \
> -          ${D}${libdir}/ssl-3/private \
> -          ${D}${libdir}/ssl-3/openssl.cnf \
> +       mv ${D}${nonarch_libdir}/ssl-3/certs \
> +          ${D}${nonarch_libdir}/ssl-3/private \
> +          ${D}${nonarch_libdir}/ssl-3/openssl.cnf \
>            ${D}${sysconfdir}/ssl/
>
>         # Although absolute symlinks would be OK for the target, they become
>         # invalid if native or nativesdk are relocated from sstate.
> -       ln -sf ${@oe.path.relative('${libdir}/ssl-3', 
> '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs
> -       ln -sf ${@oe.path.relative('${libdir}/ssl-3', 
> '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private
> -       ln -sf ${@oe.path.relative('${libdir}/ssl-3', 
> '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf
> +       ln -sf ${@oe.path.relative('${nonarch_libdir}/ssl-3', 
> '${sysconfdir}/ssl/certs')} ${D}${nonarch_libdir}/ssl-3/certs
> +       ln -sf ${@oe.path.relative('${nonarch_libdir}/ssl-3', 
> '${sysconfdir}/ssl/private')} ${D}${nonarch_libdir}/ssl-3/private
> +       ln -sf ${@oe.path.relative('${nonarch_libdir}/ssl-3', 
> '${sysconfdir}/ssl/openssl.cnf')} ${D}${nonarch_libdir}/ssl-3/openssl.cnf
>
>         # Generate fipsmodule.cnf in pkg_postinst_ontarget
>         if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', 
>d)}; then
> -               rm -f ${D}${libdir}/ssl-3/fipsmodule.cnf
> +               rm -f ${D}${nonarch_libdir}/ssl-3/fipsmodule.cnf
>         fi
>  }
>
> @@ -201,9 +201,9 @@ do_install:append:class-target () {
>
>  do_install:append:class-native () {
>         create_wrapper ${D}${bindir}/openssl \
> -           OPENSSL_CONF=\${OPENSSL_CONF:-${libdir}/ssl-3/openssl.cnf} \
> -           SSL_CERT_DIR=\${SSL_CERT_DIR:-${libdir}/ssl-3/certs} \
> -           SSL_CERT_FILE=\${SSL_CERT_FILE:-${libdir}/ssl-3/cert.pem} \
> +           
> OPENSSL_CONF=\${OPENSSL_CONF:-${nonarch_libdir}/ssl-3/openssl.cnf} \
> +           SSL_CERT_DIR=\${SSL_CERT_DIR:-${nonarch_libdir}/ssl-3/certs} \
> +           SSL_CERT_FILE=\${SSL_CERT_FILE:-${nonarch_libdir}/ssl-3/cert.pem} 
> \
>             OPENSSL_ENGINES=\${OPENSSL_ENGINES:-${libdir}/engines-3} \
>             OPENSSL_MODULES=\${OPENSSL_MODULES:-${libdir}/ossl-modules}
>
> @@ -275,15 +275,15 @@ PACKAGES =+ "libcrypto libssl openssl-conf 
> ${PN}-engines ${PN}-misc ${PN}-ossl-m
>  FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
>  FILES:libssl = "${libdir}/libssl${SOLIBS}"
>  FILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf* \
> -                      ${libdir}/ssl-3/openssl.cnf* \
> +                      ${nonarch_libdir}/ssl-3/openssl.cnf* \
>                        "
>  FILES:${PN}-engines = "${libdir}/engines-3"
>  # ${prefix} comes from what we pass into --prefix at configure time (which 
>is used for INSTALLTOP)
>  FILES:${PN}-engines:append:mingw32:class-nativesdk = " 
>${prefix}${libdir}/engines-3"
> -FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
> +FILES:${PN}-misc = "${nonarch_libdir}/ssl-3/misc ${bindir}/c_rehash"
>  FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
>  FILES:${PN}-ossl-module-fips = "${libdir}/ossl-modules/fips.so"
> -FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
> +FILES:${PN} =+ "${nonarch_libdir}/ssl-3/* ${libdir}/ossl-modules/"
>  FILES:${PN}:append:class-nativesdk = " 
>${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
>
>  CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243672): 
https://lists.openembedded.org/g/openembedded-core/message/243672
Mute This Topic: https://lists.openembedded.org/mt/120745838/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to