LLVM has changed the ELF header dump format [1], the code in oe_libinstall relied upon the format and processed the SONAME inside square brackets e.g.
0x000000000000000e (SONAME) Library soname: libreadline.so.8 with older readelf from ( llvm <19 or GNU binutils objdump ) we get 0x000000000000000e (SONAME) Library soname: [libreadline.so.8] The check in oe_libinstall will now trip over ELF files read by llvm-readelf from llvm19+ To make it portable which works across GNU binutils and LLVM tools switch to using objdump -p to dump the ELF file and modify the regexp accordingly, as an aside, the post processing expression is simplified too [1] https://github.com/llvm/llvm-project/pull/96562 Signed-off-by: Khem Raj <raj.k...@gmail.com> --- meta/classes-global/utils.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes-global/utils.bbclass b/meta/classes-global/utils.bbclass index 957389928f3..c9cae8930f7 100644 --- a/meta/classes-global/utils.bbclass +++ b/meta/classes-global/utils.bbclass @@ -15,7 +15,7 @@ oe_soinstall() { ;; esac install -m 755 $1 $2/$libname - sonamelink=`${READELF} -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` + sonamelink=`${OBJDUMP} -p $1 | grep SONAME | awk '{print $2}'` if [ -z $sonamelink ]; then bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'." fi @@ -147,7 +147,7 @@ oe_libinstall() { # special case hack for non-libtool .so.#.#.# links baselibfile=`basename "$libfile"` if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then - sonamelink=`${READELF} -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` + sonamelink=`${OBJDUMP} -p $libfile | grep SONAME | awk '{print $2}'` solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'` if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then __runcmd ln -sf $baselibfile $destpath/$sonamelink
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#201191): https://lists.openembedded.org/g/openembedded-core/message/201191 Mute This Topic: https://lists.openembedded.org/mt/106905187/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-