aws-lambda-cpp
aws-lambda-cpp copied to clipboard
canonicalize ldd symlinks for build on al2023 to work
I encountered a packaging problem when migrating my lambdas from al2 to al2023
[100%] Built target query
Failed to identify, locate or package the loader. Please file an issue on Github!
make[3]: *** [query/CMakeFiles/aws-lambda-package-query.dir/build.make:70: query/CMakeFiles/aws-lambda-package-query] Error 1
Here is my ldd
linux-vdso.so.1 (0x0000ffffa2292000)
libcurl.so.4 => /lib64/libcurl.so.4 (0x0000ffffa2192000)
libz.so.1 => /lib64/libz.so.1 (0x0000ffffa2151000)
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x0000ffffa1c00000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000ffffa1800000)
libm.so.6 => /lib64/libm.so.6 (0x0000ffffa20a0000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000ffffa1baf000)
libc.so.6 => /lib64/libc.so.6 (0x0000ffffa1632000)
libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x0000ffffa1b5e000)
libidn2.so.0 => /lib64/libidn2.so.0 (0x0000ffffa1b0d000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x0000ffffa1acc000)
libssl.so.3 => /lib64/libssl.so.3 (0x0000ffffa152e000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000ffffa14bd000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffa2245000)
libunistring.so.2 => /lib64/libunistring.so.2 (0x0000ffffa130c000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000ffffa120a000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000ffffa1a8b000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000ffffa11c9000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000ffffa1188000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000ffffa1147000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x0000ffffa1104000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000ffffa10b1000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x0000ffffa1000000)
on al2023 /lib64 is a symlink
sh-5.2# readlink -f /lib64
/usr/lib64
and this is what rpm returns
sh-5.2# rpm -ql glibc.$(uname -m) | grep so
/etc/ld.so.cache
/etc/ld.so.conf
/etc/ld.so.conf.d
/usr/lib/ld-linux-aarch64.so.1
/usr/lib64/audit/sotruss-lib.so
/usr/lib64/gconv/ANSI_X3.110.so
/usr/lib64/gconv/CP1252.so
/usr/lib64/gconv/ISO8859-1.so
/usr/lib64/gconv/ISO8859-15.so
/usr/lib64/gconv/UNICODE.so
/usr/lib64/gconv/UTF-16.so
/usr/lib64/gconv/UTF-32.so
/usr/lib64/gconv/UTF-7.so
/usr/lib64/libBrokenLocale.so.1
/usr/lib64/libSegFault.so
/usr/lib64/libanl.so.1
/usr/lib64/libc.so.6
/usr/lib64/libc_malloc_debug.so.0
/usr/lib64/libdl.so.2
/usr/lib64/libm.so.6
/usr/lib64/libmemusage.so
/usr/lib64/libnss_compat.so.2
/usr/lib64/libnss_dns.so.2
/usr/lib64/libnss_files.so.2
/usr/lib64/libpcprofile.so
/usr/lib64/libpthread.so.0
/usr/lib64/libresolv.so.2
/usr/lib64/librt.so.1
/usr/lib64/libthread_db.so.1
/usr/lib64/libutil.so.1
So, here is a one-liner that works for me, tested only with al2023-arm64.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.