Emerge with ABI_X86="64" emerge -v1 --nodeps media-libs/gst-plugins-good completes, whereas the emerge with ABI_X86="64 32" emerge -v1 --nodeps media-libs/gst-plugins-good fails with FAILED: ext/qt/libgstqmlgl.so x86_64-pc-linux-gnu-g++ -m32 … /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libQt5Core.so: error adding symbols: file in wrong format With libQt5Core not being available for the 32 bit ABI. Relevant parts from build.log qmake5 found: YES (/usr/bin/qmake5) 5.15.9 Run-time dependency qt5 (modules: Core, Gui, Qml, Quick) found: YES 5.15.9 (qmake) Program moc found: YES (/usr/bin/moc) Has header "5.15.9/QtGui/qpa/qplatformnativeinterface.h" with dependency qt5: YES Message: Found QtGui QPA header in 5.15.9/QtGui qmake5 found: YES (/usr/bin/qmake5) 5.15.9 Run-time dependency qt5 (modules: X11Extras) found: YES 5.15.9 (qmake) qmake5 found: YES (/usr/bin/qmake5) 5.15.9 Run-time dependency qt5 (modules: WaylandClient) found: YES 5.15.9 (qmake) Detecting Qt5 tools qmake5 found: YES (/usr/bin/qmake5) 5.15.9 Run-time dependency qt5 (modules: Core) found: YES 5.15.9 (qmake) Program /usr/lib64/qt5/bin/moc found: YES 5.15.9 (/usr/lib64/qt5/bin/moc) Program /usr/lib64/qt5/bin/uic found: YES 5.15.9 (/usr/lib64/qt5/bin/uic) Program /usr/lib64/qt5/bin/rcc found: YES 5.15.9 (/usr/lib64/qt5/bin/rcc) Program /usr/lib64/qt5/bin/lrelease found: YES 5.15.9 (/usr/lib64/qt5/bin/lrelease) Detecting Qt6 tools qmake6 found: NO found 'QMake version 3.1\nUsing Qt version 5.15.9 in /usr/lib64' but need ['>= 6', '< 7'] Run-time dependency qt6 (modules: Core) found: NO (tried pkgconfig and config-tool) … [437/481] x86_64-pc-linux-gnu-g++ -m32 -mfpmath=sse -o ext/qt/libgstqmlgl.so ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtitem.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtwindow.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_gstqsgtexture.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtglrenderer.cpp.o ext/qt/libgstqmlgl.so.p/gstplugin.cc.o ext/qt/libgstqmlgl.so.p/gstqtelement.cc.o ext/qt/libgstqmlgl.so.p/gstqsgtexture.cc.o ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o ext/qt/libgstqmlgl.so.p/gstqtsink.cc.o ext/qt/libgstqmlgl.so.p/gstqtsrc.cc.o ext/qt/libgstqmlgl.so.p/qtglrenderer.cc.o ext/qt/libgstqmlgl.so.p/qtitem.cc.o ext/qt/libgstqmlgl.so.p/qtwindow.cc.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstqmlgl.so -Wl,-Bsymbolic-functions -Wl,-z,nodelete -march=native -mtune=native -O2 -pipe -fomit-frame-pointer -ftree-vectorize -Wl,-O1 -Wl,--as-needed /usr/lib/libgstreamer-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libgstvideo-1.0.so /usr/lib/libgstbase-1.0.so /usr/lib/libgstgl-1.0.so /usr/lib/libGLESv2.so /usr/lib/libOpenGL.so /usr/lib64/libQt5Core.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Qml.so /usr/lib64/libQt5Quick.so /usr/lib64/libQt5X11Extras.so /usr/lib/libX11-xcb.so /usr/lib/libX11.so /usr/lib/libxcb.so /usr/lib/libEGL.so /usr/lib64/libQt5WaylandClient.so /usr/lib/libwayland-egl.so /usr/lib/libwayland-client.so -Wl,--end-group FAILED: ext/qt/libgstqmlgl.so x86_64-pc-linux-gnu-g++ -m32 -mfpmath=sse -o ext/qt/libgstqmlgl.so ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtitem.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtwindow.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_gstqsgtexture.cpp.o ext/qt/libgstqmlgl.so.p/meson-generated_moc_qtglrenderer.cpp.o ext/qt/libgstqmlgl.so.p/gstplugin.cc.o ext/qt/libgstqmlgl.so.p/gstqtelement.cc.o ext/qt/libgstqmlgl.so.p/gstqsgtexture.cc.o ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o ext/qt/libgstqmlgl.so.p/gstqtsink.cc.o ext/qt/libgstqmlgl.so.p/gstqtsrc.cc.o ext/qt/libgstqmlgl.so.p/qtglrenderer.cc.o ext/qt/libgstqmlgl.so.p/qtitem.cc.o ext/qt/libgstqmlgl.so.p/qtwindow.cc.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstqmlgl.so -Wl,-Bsymbolic-functions -Wl,-z,nodelete -march=native -mtune=native -O2 -pipe -fomit-frame-pointer -ftree-vectorize -Wl,-O1 -Wl,--as-needed /usr/lib/libgstreamer-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libgstvideo-1.0.so /usr/lib/libgstbase-1.0.so /usr/lib/libgstgl-1.0.so /usr/lib/libGLESv2.so /usr/lib/libOpenGL.so /usr/lib64/libQt5Core.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Qml.so /usr/lib64/libQt5Quick.so/usr/lib64/libQt5X11Extras.so /usr/lib/libX11-xcb.so /usr/lib/libX11.so /usr/lib/libxcb.so /usr/lib/libEGL.so /usr/lib64/libQt5WaylandClient.so /usr/lib/libwayland-egl.so /usr/lib/libwayland-client.so -Wl,--end-group /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libQt5Core.so: error adding symbols: file in wrong format collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. Reproducible: Always
Created attachment 862964 [details, diff] Trivial fix by disabling qt5 and qt6 completely This patch implements the trivial fix to disable qt5 and qt6 completely. A nicer option would probably be to use the qt5 and qt6 USE flags and check for ABIs to build as qt ebuilds currently do not seem to support multilib
This shouldn't even be built as part of gst-plugins-good probably..
I guess it's a set of those option flags that doesn't get automatically detected as a split plugin thing by gstreamer-meson.eclass. Might even need to have a special case in gstreamer_get_plugins() there to not get checked in split plugins from -good too?
unfortunately, that patch doesn't work for me. the opening line that forces 64 bit does build it, but it tries to build it again and fails when I update @world again below is the error I get with the patch, which seems to indicate that its a patch for the ebuild and not the source, in which case I'm not sure how to apply it. * Package: media-libs/gst-plugins-good-1.22.3-r1:1.0 * Repository: gentoo * Maintainer: gstreamer@gentoo.org * USE: abi_x86_32 abi_x86_64 amd64 elibc_glibc kernel_linux nls orc * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking gst-plugins-good-1.22.3.tar.xz to /var/tmp/portage/media-libs/gst-plugins-good-1.22.3-r1/work >>> Source unpacked in /var/tmp/portage/media-libs/gst-plugins-good-1.22.3-r1/work >>> Preparing source in /var/tmp/portage/media-libs/gst-plugins-good-1.22.3-r1/work/gst-plugins-good-1.22.3 ... * =============================================================================================================================================================== * Applying user patches from /etc/portage/patches ... * Applying gst-plugins-good-disable-qt.patch ... can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/media-libs/gst-plugins-good/gst-plugins-good-1.22.3-r1.ebuild b/media-libs/gst-plugins-good/gst-plugins-good-1.22.3-r1.ebuild |index bdedddb666..ed2b690633 100644 |--- a/media-libs/gst-plugins-good/gst-plugins-good-1.22.3-r1.ebuild |+++ b/media-libs/gst-plugins-good/gst-plugins-good-1.22.3-r1.ebuild -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored [ !! ]
(In reply to anna from comment #4) > unfortunately, that patch doesn't work for me. the opening line that forces > 64 bit does build it, but it tries to build it again and fails when I update > @world again > > below is the error I get with the patch, which seems to indicate that its a > patch for the ebuild and not the source, in which case I'm not sure how to > apply it. It's a patch to the ebuild rather than a patch to apply to the sources. But I'm going to look at this bug shortly anyway.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fb2a2a710a4129c4b7bd5e371029a99cff9bb64 commit 2fb2a2a710a4129c4b7bd5e371029a99cff9bb64 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-06-01 02:59:13 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-06-01 02:59:13 +0000 media-libs/gst-plugins-good: disable qt5 & qt6 These are being automagically built right now - so let's stop the immediate breakage for multilib, but further, it doesn't seem they should be in -good anyway. Bug: https://bugs.gentoo.org/907483 Closes: https://github.com/gentoo/gentoo/pull/31255 Signed-off-by: Sam James <sam@gentoo.org> ...ugins-good-1.22.3-r1.ebuild => gst-plugins-good-1.22.3-r2.ebuild} | 5 +++++ 1 file changed, 5 insertions(+)
Keeping this open for now to see if we need an eclass change + also to package -qt5/-qt6 sep.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d05c013a8a63299ffd82fa6c1b41a412573f849 commit 7d05c013a8a63299ffd82fa6c1b41a412573f849 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-06-10 12:09:37 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-06-10 13:16:57 +0000 gstreamer-meson.eclass: detect qt5/qt6 in split -good plugins Closes: https://bugs.gentoo.org/907483 Signed-off-by: Sam James <sam@gentoo.org> eclass/gstreamer-meson.eclass | 10 ++++++++++ 1 file changed, 10 insertions(+)