* [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross
@ 2024-08-25 9:25 Thomas Petazzoni via buildroot
2024-08-26 11:05 ` Fiona Klute via buildroot
2024-08-30 22:23 ` Yann E. MORIN
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-25 9:25 UTC (permalink / raw)
To: buildroot; +Cc: Fiona Klute, Thomas Petazzoni
This commit switches the gobject-introspection package from using
prelink-cross to simply using "objdump -p". This basically implements
the same change as was done in OpenEmbedded commit:
https://git.openembedded.org/openembedded-core/commit/?id=767e0880d4d729e659e859dd99c1cdb084b8ba51
In particular, this allows to get rid of the architecture dependency
of prelink-cross, which wasn't currently encoded, but that was
actually causing failures such as:
/home/autobuild/autobuild/instance-17/output-1/host/sbin/prelink-rtld: error while loading shared libraries: /lib/libc.so.6: cannot handle TLS data
It also paves the way for removing host-prelink-cross entirely, as the
only remaining user of it now is dracut.
The test tests.package.test_python_gobject.TestPythonPy3Gobject (which
uses gobject-introspection) has been tested to run fine after this
commit.
Fixes:
http://autobuild.buildroot.net/results/7efa6a18f543752dfe33577f74c20bda3f8b1e65/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
.checkpackageignore | 1 -
...-error-return-codes-from-ldd-wrapper.patch | 31 -------------------
.../g-ir-scanner-lddwrapper.in | 3 +-
.../gobject-introspection.mk | 3 +-
4 files changed, 3 insertions(+), 35 deletions(-)
delete mode 100644 package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index 81e48bf859..4b1bd6a42e 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -586,7 +586,6 @@ package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_p
package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
-package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch lib_patch.Upstream
package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
diff --git a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
deleted file mode 100644
index f1ea518954..0000000000
--- a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-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 <alex.kanavin@gmail.com>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/shlibs.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 9f8ab5df..7a1a72fe 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -103,7 +103,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")
-
---
-2.25.1
-
diff --git a/package/gobject-introspection/g-ir-scanner-lddwrapper.in b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
index 2f09bca77a..7f3db67da4 100644
--- a/package/gobject-introspection/g-ir-scanner-lddwrapper.in
+++ b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
@@ -1,3 +1,2 @@
#!/usr/bin/env sh
-
-"${HOST_DIR}"/sbin/prelink-rtld --root="$(dirname "$0")/../../" "$@"
+@TARGET_OBJDUMP@ -p "$@"
diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
index f0c7fcd2ca..ad72af22a2 100644
--- a/package/gobject-introspection/gobject-introspection.mk
+++ b/package/gobject-introspection/gobject-introspection.mk
@@ -15,7 +15,6 @@ GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scanner
GOBJECT_INTROSPECTION_DEPENDENCIES = \
host-autoconf-archive \
host-gobject-introspection \
- host-prelink-cross \
host-qemu \
libffi \
libglib2 \
@@ -78,6 +77,8 @@ define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS
$(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \
$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
+ $(SED) "s%@TARGET_OBJDUMP@%$(TARGET_OBJDUMP)%" \
+ $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
$(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-qemuwrapper.in \
$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper
--
2.46.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross
2024-08-25 9:25 [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross Thomas Petazzoni via buildroot
@ 2024-08-26 11:05 ` Fiona Klute via buildroot
2024-08-30 22:23 ` Yann E. MORIN
1 sibling, 0 replies; 3+ messages in thread
From: Fiona Klute via buildroot @ 2024-08-26 11:05 UTC (permalink / raw)
To: Thomas Petazzoni, buildroot
Am 25.08.24 um 11:25 schrieb Thomas Petazzoni:
> This commit switches the gobject-introspection package from using
> prelink-cross to simply using "objdump -p". This basically implements
> the same change as was done in OpenEmbedded commit:
>
> https://git.openembedded.org/openembedded-core/commit/?id=767e0880d4d729e659e859dd99c1cdb084b8ba51
>
> In particular, this allows to get rid of the architecture dependency
> of prelink-cross, which wasn't currently encoded, but that was
> actually causing failures such as:
>
> /home/autobuild/autobuild/instance-17/output-1/host/sbin/prelink-rtld: error while loading shared libraries: /lib/libc.so.6: cannot handle TLS data
>
> It also paves the way for removing host-prelink-cross entirely, as the
> only remaining user of it now is dracut.
>
> The test tests.package.test_python_gobject.TestPythonPy3Gobject (which
> uses gobject-introspection) has been tested to run fine after this
> commit.
>
> Fixes:
>
> http://autobuild.buildroot.net/results/7efa6a18f543752dfe33577f74c20bda3f8b1e65/
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Tested with aarch64/musl target, both with and without my pending
libglib2/gobject-introspection update series.
Thanks,
Fiona
> ---
> .checkpackageignore | 1 -
> ...-error-return-codes-from-ldd-wrapper.patch | 31 -------------------
> .../g-ir-scanner-lddwrapper.in | 3 +-
> .../gobject-introspection.mk | 3 +-
> 4 files changed, 3 insertions(+), 35 deletions(-)
> delete mode 100644 package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 81e48bf859..4b1bd6a42e 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -586,7 +586,6 @@ package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_p
> package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
> package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
> package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
> -package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch lib_patch.Upstream
> package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
> package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
> package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
> diff --git a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> deleted file mode 100644
> index f1ea518954..0000000000
> --- a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -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 <alex.kanavin@gmail.com>
> -Signed-off-by: Adam Duskett <aduskett@gmail.com>
> ----
> - giscanner/shlibs.py | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
> -index 9f8ab5df..7a1a72fe 100644
> ---- a/giscanner/shlibs.py
> -+++ b/giscanner/shlibs.py
> -@@ -103,7 +103,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")
> -
> ---
> -2.25.1
> -
> diff --git a/package/gobject-introspection/g-ir-scanner-lddwrapper.in b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> index 2f09bca77a..7f3db67da4 100644
> --- a/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> +++ b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> @@ -1,3 +1,2 @@
> #!/usr/bin/env sh
> -
> -"${HOST_DIR}"/sbin/prelink-rtld --root="$(dirname "$0")/../../" "$@"
> +@TARGET_OBJDUMP@ -p "$@"
> diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
> index f0c7fcd2ca..ad72af22a2 100644
> --- a/package/gobject-introspection/gobject-introspection.mk
> +++ b/package/gobject-introspection/gobject-introspection.mk
> @@ -15,7 +15,6 @@ GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scanner
> GOBJECT_INTROSPECTION_DEPENDENCIES = \
> host-autoconf-archive \
> host-gobject-introspection \
> - host-prelink-cross \
> host-qemu \
> libffi \
> libglib2 \
> @@ -78,6 +77,8 @@ define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS
>
> $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \
> $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
> + $(SED) "s%@TARGET_OBJDUMP@%$(TARGET_OBJDUMP)%" \
> + $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
>
> $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-qemuwrapper.in \
> $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross
2024-08-25 9:25 [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross Thomas Petazzoni via buildroot
2024-08-26 11:05 ` Fiona Klute via buildroot
@ 2024-08-30 22:23 ` Yann E. MORIN
1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2024-08-30 22:23 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Fiona Klute, buildroot
Thomas, All,
On 2024-08-25 11:25 +0200, Thomas Petazzoni via buildroot spake thusly:
> This commit switches the gobject-introspection package from using
> prelink-cross to simply using "objdump -p". This basically implements
> the same change as was done in OpenEmbedded commit:
>
> https://git.openembedded.org/openembedded-core/commit/?id=767e0880d4d729e659e859dd99c1cdb084b8ba51
>
> In particular, this allows to get rid of the architecture dependency
> of prelink-cross, which wasn't currently encoded, but that was
> actually causing failures such as:
>
> /home/autobuild/autobuild/instance-17/output-1/host/sbin/prelink-rtld: error while loading shared libraries: /lib/libc.so.6: cannot handle TLS data
>
> It also paves the way for removing host-prelink-cross entirely, as the
> only remaining user of it now is dracut.
>
> The test tests.package.test_python_gobject.TestPythonPy3Gobject (which
> uses gobject-introspection) has been tested to run fine after this
> commit.
>
> Fixes:
>
> http://autobuild.buildroot.net/results/7efa6a18f543752dfe33577f74c20bda3f8b1e65/
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> .checkpackageignore | 1 -
> ...-error-return-codes-from-ldd-wrapper.patch | 31 -------------------
> .../g-ir-scanner-lddwrapper.in | 3 +-
> .../gobject-introspection.mk | 3 +-
> 4 files changed, 3 insertions(+), 35 deletions(-)
> delete mode 100644 package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 81e48bf859..4b1bd6a42e 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -586,7 +586,6 @@ package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_p
> package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
> package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
> package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
> -package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch lib_patch.Upstream
> package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
> package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
> package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
> diff --git a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> deleted file mode 100644
> index f1ea518954..0000000000
> --- a/package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -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 <alex.kanavin@gmail.com>
> -Signed-off-by: Adam Duskett <aduskett@gmail.com>
> ----
> - giscanner/shlibs.py | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
> -index 9f8ab5df..7a1a72fe 100644
> ---- a/giscanner/shlibs.py
> -+++ b/giscanner/shlibs.py
> -@@ -103,7 +103,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")
> -
> ---
> -2.25.1
> -
> diff --git a/package/gobject-introspection/g-ir-scanner-lddwrapper.in b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> index 2f09bca77a..7f3db67da4 100644
> --- a/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> +++ b/package/gobject-introspection/g-ir-scanner-lddwrapper.in
> @@ -1,3 +1,2 @@
> #!/usr/bin/env sh
> -
> -"${HOST_DIR}"/sbin/prelink-rtld --root="$(dirname "$0")/../../" "$@"
> +@TARGET_OBJDUMP@ -p "$@"
> diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
> index f0c7fcd2ca..ad72af22a2 100644
> --- a/package/gobject-introspection/gobject-introspection.mk
> +++ b/package/gobject-introspection/gobject-introspection.mk
> @@ -15,7 +15,6 @@ GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scanner
> GOBJECT_INTROSPECTION_DEPENDENCIES = \
> host-autoconf-archive \
> host-gobject-introspection \
> - host-prelink-cross \
> host-qemu \
> libffi \
> libglib2 \
> @@ -78,6 +77,8 @@ define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS
>
> $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \
> $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
> + $(SED) "s%@TARGET_OBJDUMP@%$(TARGET_OBJDUMP)%" \
> + $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
>
> $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-qemuwrapper.in \
> $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper
> --
> 2.46.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-30 22:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-25 9:25 [Buildroot] [PATCH] package/gobject-introspection: use objdump instead of prelink-cross Thomas Petazzoni via buildroot
2024-08-26 11:05 ` Fiona Klute via buildroot
2024-08-30 22:23 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox