On Thu, 27 Jan 2022 at 19:09, Khem Raj wrote: > On Thu, Jan 27, 2022 at 2:21 AM Alexander Kanavin > wrote: > > > > g-i internally processes the output with regexes, and seems > > happy with what objdump is printing. It only needs to resolve > > the library name as passed to the linker to the library file name. > > Also recursive resolution (that ldd is doing and objdump is not) > > is not necessary. > > > > thanks for doing this, it further unbolts prelink from core metaddata. > Objdump -p is good, does it use it from binutils-cross ? > $OBJDUMP is set to the executable from there, yes. Alex > > > Signed-off-by: Alexander Kanavin > > --- > > meta/classes/gobject-introspection.bbclass | 2 +- > > ...-error-return-codes-from-ldd-wrapper.patch | 28 ------------------- > > .../gobject-introspection_1.70.0.bb | 14 ++-------- > > 3 files changed, 3 insertions(+), 41 deletions(-) > > delete mode 100644 > meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch > > > > diff --git a/meta/classes/gobject-introspection.bbclass > b/meta/classes/gobject-introspection.bbclass > > index 4db1b362d9..7bf9feb0d6 100644 > > --- a/meta/classes/gobject-introspection.bbclass > > +++ b/meta/classes/gobject-introspection.bbclass > > @@ -29,7 +29,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', > '${GIRMESONBUILD}'][d.getVar('G > > > > # Generating introspection data depends on a combination of native and > target > > # introspection tools, and qemu to run the target tools. > > -DEPENDS:append:class-target = " gobject-introspection > gobject-introspection-native qemu-native prelink-native" > > +DEPENDS:append:class-target = " gobject-introspection > gobject-introspection-native qemu-native" > > > > # Even though introspection is disabled on -native, > gobject-introspection package is still > > # needed for m4 macros. > > diff --git > a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch > b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch > > deleted file mode 100644 > > index b484b5e9e6..0000000000 > > --- > a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch > > +++ /dev/null > > @@ -1,28 +0,0 @@ > > -From f742da8b3913f4818d3f419117076afe62f4dbf4 Mon Sep 17 00:00:00 2001 > > -From: Alexander Kanavin > > -Date: Wed, 5 Sep 2018 16:46:52 +0200 > > -Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper > > - > > -prelink-rtld, which we use instead of ldd returns 127 when it can't > find a library. > > -It is not an error per se, but it breaks subprocess.check_output(). > > - > > -Upstream-Status: Inappropriate [oe-core specific] > > -Signed-off-by: Alexander Kanavin > > - > > ---- > > - giscanner/shlibs.py | 2 +- > > - 1 file changed, 1 insertion(+), 1 deletion(-) > > - > > -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py > > -index d67df95..80352a6 100644 > > ---- a/giscanner/shlibs.py > > -+++ b/giscanner/shlibs.py > > -@@ -102,7 +102,7 @@ def _resolve_non_libtool(options, binary, > libraries): > > - args.extend(['otool', '-L', binary.args[0]]) > > - else: > > - args.extend(['ldd', binary.args[0]]) > > -- output = subprocess.check_output(args) > > -+ output = subprocess.run(args, check=False, > stdout=subprocess.PIPE).stdout > > - if isinstance(output, bytes): > > - output = output.decode("utf-8", "replace") > > - > > diff --git a/meta/recipes-gnome/gobject-introspection/ > gobject-introspection_1.70.0.bb > b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb > > index d4ee03d33c..4f72a33bfa 100644 > > --- a/meta/recipes-gnome/gobject-introspection/ > gobject-introspection_1.70.0.bb > > +++ b/meta/recipes-gnome/gobject-introspection/ > gobject-introspection_1.70.0.bb > > @@ -14,7 +14,6 @@ LIC_FILES_CHKSUM = > "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ > > " > > > > SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", > 2)}/${BPN}-${PV}.tar.xz \ > > - > file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ > > file://0001-build-Avoid-the-doctemplates-hack.patch \ > > " > > > > @@ -33,9 +32,7 @@ DEPENDS += " libffi zlib glib-2.0 python3 flex-native > bison-native autoconf-arch > > # target build needs qemu to run temporary introspection binaries > created > > # on the fly by g-ir-scanner and a native version of itself to run > > # native versions of its own tools during build. > > -# Also prelink-rtld is used to find out library dependencies of > introspection binaries > > -# (standard ldd doesn't work when cross-compiling). > > -DEPENDS:append:class-target = " gobject-introspection-native > qemu-native prelink-native" > > +DEPENDS:append:class-target = " gobject-introspection-native > qemu-native" > > > > # needed for writing out the qemu wrapper script > > export STAGING_DIR_HOST > > @@ -55,13 +52,6 @@ EXTRA_OEMESON:class-target = " \ > > ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ > > " > > > > -# Need to ensure ld.so.conf exists so prelink-native works > > -# both before we build and if we install from sstate > > -do_configure[prefuncs] += "gobject_introspection_preconfigure" > > -python gobject_introspection_preconfigure () { > > - oe.utils.write_ld_so_conf(d) > > -} > > - > > do_configure:prepend:class-native() { > > # Tweak the native python scripts so that they don't refer to > the > > # full path of native python binary (the solution is taken from > glib-2.0 recipe) > > @@ -113,7 +103,7 @@ EOF > > # for a different architecture > > cat > ${B}/g-ir-scanner-lddwrapper << EOF > > #!/bin/sh > > -prelink-rtld --root=$STAGING_DIR_HOST "\$@" > > +$OBJDUMP -p "\$@" > > EOF > > chmod +x ${B}/g-ir-scanner-lddwrapper > > > > -- > > 2.20.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#161039): > https://lists.openembedded.org/g/openembedded-core/message/161039 > > Mute This Topic: https://lists.openembedded.org/mt/88718372/1997914 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > >