summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrevor Woerner <twoerner@gmail.com>2026-01-02 01:38:35 -0500
committerKhem Raj <raj.khem@gmail.com>2026-01-02 22:30:12 -0800
commitbbef3812baa5d9e9b098df0dfacefb3412baf394 (patch)
treef82b2319808f45d6a4f4c70e5a6d22fdf8e43fe3
parent050ffcdea2b2ac3fcfb5bc5f39d64b60b2dd1dca (diff)
downloadmeta-openembedded-bbef3812baa5d9e9b098df0dfacefb3412baf394.tar.gz
libwebsockets: use native sysroot's ssl config
During the compile step, CMake will attempt to generate a test certificate with openssl-native using a hard-coded path to the openssl config: openssl req -config /etc/ssl/openssl.cnf ... Thus using the build host's openssl config. If the build host's openssl is configured with options that openssl-native does not understand or accept, the test certificate will not be generated: [log.do_configure on openSUSE 16.0] Searching for OpenSSL executable and dlls OpenSSL executable: .../build/tmp/work/cortexa53-crypto-oe-linux/libwebsockets/4.5.2/recipe-sysroot-native/usr/bin/openssl GENCERTS = 1 Generating SSL Certificates for the test-server... Error configuring OpenSSL modules 4037413D467F0000:error:030000A9:digital envelope routines:alg_module_init:unknown option:../sources/openssl-3.5.4/crypto/evp/evp_cnf.c:61:name=rh-allow-sha1-signatures, value=yes 4037413D467F0000:error:0700006D:configuration file routines:module_run:module initialization error:../sources/openssl-3.5.4/crypto/conf/conf_mod.c:288:module=alg_section, value=evp_properties retcode=-1 CMake Warning at lib/tls/CMakeLists.txt:528 (message): !!! Failed to generate SSL certificate for Test Server!!!: OpenSSL return code = 1 and the subsequent do_install() step will fail: | CMake Error at test-apps/cmake_install.cmake:126 (file): | file INSTALL cannot find | ".../build/tmp/work/cortexa53-crypto-oe-linux/libwebsockets/4.5.2/build/libwebsockets-test-server.key.pem": | No such file or directory. ERROR: Task (.../layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb:do_install) failed with exit code '1' Fix the location where CMake looks for the openssl.cnf file in order to use the one that comes with the openssl-native that will be used to generate the certificate. Thus ensuring that they are in step in terms of which configuration options will be acceptable. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb
index 19ac6be8eb..35545aacee 100644
--- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb
+++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb
@@ -36,6 +36,10 @@ EXTRA_OECMAKE += " \
36 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 36 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
37" 37"
38 38
39do_compile:prepend() {
40 sed -i -e 's|/etc/ssl|${RECIPE_SYSROOT_NATIVE}/etc/ssl|g' ${S}/lib/tls/CMakeLists.txt
41}
42
39do_install:append() { 43do_install:append() {
40 sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake 44 sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
41 sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake 45 sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake