Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 907483 - media-libs/gst-plugins-good-1.22.3-r1: fails to compile on multilib system with ABI_X86="64 32" due to qtcore only being available for 64 bit ABI
Summary: media-libs/gst-plugins-good-1.22.3-r1: fails to compile on multilib system wi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-31 10:52 UTC by Jan-Matthias Braun
Modified: 2023-06-10 13:18 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Trivial fix by disabling qt5 and qt6 completely (gst-plugins-good-disable-qt.patch,536 bytes, patch)
2023-05-31 11:00 UTC, Jan-Matthias Braun
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan-Matthias Braun 2023-05-31 10:52:28 UTC
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
Comment 1 Jan-Matthias Braun 2023-05-31 11:00:26 UTC
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
Comment 2 Mart Raudsepp gentoo-dev 2023-05-31 15:02:35 UTC
This shouldn't even be built as part of gst-plugins-good probably..
Comment 3 Mart Raudsepp gentoo-dev 2023-05-31 15:10:58 UTC
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?
Comment 4 anna 2023-05-31 20:16:51 UTC
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                                                                                                                                    [ !! ]
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-31 20:19:14 UTC
(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.
Comment 6 Larry the Git Cow gentoo-dev 2023-06-01 03:01:38 UTC
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(+)
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-01 03:01:56 UTC
Keeping this open for now to see if we need an eclass change + also to package -qt5/-qt6 sep.
Comment 8 Larry the Git Cow gentoo-dev 2023-06-10 13:18:15 UTC
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(+)