public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [OE-core] [PATCH] gstreamer1.0-dev: Fix install conflict when enable multilib
@ 2025-04-15  3:08 Lei Maohui
  2025-04-17  9:19 ` Jose Quaresma
  0 siblings, 1 reply; 5+ messages in thread
From: Lei Maohui @ 2025-04-15  3:08 UTC (permalink / raw)
  To: Anuj Mittal; +Cc: openembedded-core, Lei Maohui

Error: Transaction test error:
  file /usr/share/gir-1.0/Gst-1.0.gir conflicts between attempted installs of lib32-gstreamer1.0-dev-1.26.0-r0.core2_32 and gstreamer1.0-dev-1.26.0-r0.core2_64

fixed-size differs between 32 bit and 64 bit system

$ diff /mnt/test/build_auh/tmp/work/core2-64-poky-linux/gstreamer1.0/1.26.0/image/usr/share/gir-1.0/Gst-1.0.gir /mnt/test/build_auh/tmp/work/core2-32-pokymllib32-linux/lib32-gstreamer1.0/1.26.0/image/usr/share/gir-1.0/Gst-1.0.gir
31864c31864
<         <array zero-terminated="0" fixed-size="8">
---
>         <array zero-terminated="0" fixed-size="12">

source code:
$ less gstreamer1.0-dev/usr/include/gstreamer-1.0/gst/gstidstr.h
typedef struct {
  /* < private > */
  gpointer pointer;
  guint8 padding[8];
  guint8 padding[12];
  #error "Only 32 bit and 64 bit pointers supported currently"
} GstIdStr;

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
---
 meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
index a908ecd166..5c795ad676 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
 
 DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
 
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome multilib_script
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
                     file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
@@ -68,6 +68,8 @@ FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
 FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
 FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
 
+MULTILIB_SCRIPTS:append = "${PN}-dev:${datadir}/gir-1.0/Gst-1.0.gir"
+
 RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5"
 
 CVE_PRODUCT = "gstreamer"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [OE-core] [PATCH] gstreamer1.0-dev: Fix install conflict when enable multilib
@ 2025-04-22  2:51 Lei Maohui
  2025-04-22 10:44 ` Ross Burton
  2025-04-22 11:17 ` Ross Burton
  0 siblings, 2 replies; 5+ messages in thread
From: Lei Maohui @ 2025-04-22  2:51 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core, Lei Maohui

Error: Transaction test error:
  file /usr/share/gir-1.0/Gst-1.0.gir conflicts between attempted installs of lib32-gstreamer1.0-dev-1.26.0-r0.core2_32 and gstreamer1.0-dev-1.26.0-r0.core2_64

fixed-size differs between 32 bit and 64 bit system

$ diff /mnt/test/build_auh/tmp/work/core2-64-poky-linux/gstreamer1.0/1.26.0/image/usr/share/gir-1.0/Gst-1.0.gir /mnt/test/build_auh/tmp/work/core2-32-pokymllib32-linux/lib32-gstreamer1.0/1.26.0/image/usr/share/gir-1.0/Gst-1.0.gir
31864c31864
<         <array zero-terminated="0" fixed-size="8">
---
>         <array zero-terminated="0" fixed-size="12">

The issue that "/usr/share is a architecture-independent location but contains architecture-dependent file", is
a "long-known problem with gobject-introspection. You'll probably find an issue or three from 10 years ago about that"
according to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4377

We can found issue reported years ago, gstreamer community will not handle this issue for now
https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues?search=multiarch

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
---
 meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
index a908ecd166..5c795ad676 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
 
 DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
 
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome multilib_script
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
                     file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
@@ -68,6 +68,8 @@ FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
 FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
 FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
 
+MULTILIB_SCRIPTS:append = " ${PN}-dev:${datadir}/gir-1.0/Gst-1.0.gir"
+
 RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5"
 
 CVE_PRODUCT = "gstreamer"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-04-22 11:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-15  3:08 [OE-core] [PATCH] gstreamer1.0-dev: Fix install conflict when enable multilib Lei Maohui
2025-04-17  9:19 ` Jose Quaresma
  -- strict thread matches above, loose matches on Subject: below --
2025-04-22  2:51 Lei Maohui
2025-04-22 10:44 ` Ross Burton
2025-04-22 11:17 ` Ross Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox