summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-14 11:47:11 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-16 09:46:28 +0000
commite645f9ff550fbb49a04eac67e94298414f3135f6 (patch)
treeedfbfc9ed98980fb34e3929c0ba55576edbe04dd
parent6957ff06a0ab978f73221766541c9541b9f7d1dd (diff)
downloadpoky-e645f9ff550fbb49a04eac67e94298414f3135f6.tar.gz
openssl: Add perl functionality test to do_configure
Loading the POSIX module after loading others in perl causes errors to get hidden. The resulting build failures are obtuse and hard to debug. We see this quite often when we upgrade glibc but not uninative and there are symbol mismatches. Add a quick test to the start of configure which tests perl operates correct and shows a much more obvious error if it isn't since the POSIX module doesn't have to reload. An example of the new error is: | Can't load 'XXX/buildtools-extended-tarball/1.0-r0/testimage-sdk/XXX/openssl-native/3.0.1-r0/recipe-sysroot-native/usr/lib/perl5/5.34.0/x86_64-linux/auto/POSIX/POSIX.so' for module POSIX: | XXX/buildtools-extended-tarball/1.0-r0/testimage-sdk/sysroots-uninative/x86_64-linux/lib/libm.so.6: version `GLIBC_2.35' not found | (required by XXX/buildtools-extended-tarball/1.0-r0/testimage-sdk/XXX/openssl-native/3.0.1-r0/recipe-sysroot-native/usr/lib/perl5/5.34.0/x86_64-linux/auto/POSIX/POSIX.so) at | XXX/buildtools-extended-tarball/1.0-r0/testimage-sdk/XXX/openssl-native/3.0.1-r0/recipe-sysroot-native/usr/lib/perl5/5.34.0/XSLoader.pm line 111. | at XXX/buildtools-extended-tarball/1.0-r0/testimage-sdk/XXX/openssl-native/3.0.1-r0/recipe-sysroot-native/usr/lib/perl5/5.34.0/x86_64-linux/POSIX.pm line 24. which clearly shows the glibc symbol issue. (From OE-Core rev: 684b656c5e6bf8cb10467c8d0fff1a9eeaf4256f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-connectivity/openssl/openssl_3.0.1.bb9
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.1.bb b/meta/recipes-connectivity/openssl/openssl_3.0.1.bb
index e97c986b39..d08d9b02dc 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.0.1.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.0.1.bb
@@ -55,6 +55,15 @@ CFLAGS:append:class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/bu
55DEPRECATED_CRYPTO_FLAGS ?= "" 55DEPRECATED_CRYPTO_FLAGS ?= ""
56 56
57do_configure () { 57do_configure () {
58 # When we upgrade glibc but not uninative we see obtuse failures in openssl. Make
59 # the issue really clear that perl isn't functional due to symbol mismatch issues.
60 cat <<- EOF > ${WORKDIR}/perltest
61 #!/usr/bin/env perl
62 use POSIX;
63 EOF
64 chmod a+x ${WORKDIR}/perltest
65 ${WORKDIR}/perltest
66
58 os=${HOST_OS} 67 os=${HOST_OS}
59 case $os in 68 case $os in
60 linux-gnueabi |\ 69 linux-gnueabi |\