Summary: | media-libs/gstreamer-1.18.4 fails building with "undefined symbol" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | piotr5 |
Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | ionen, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | gstreamer 1.20.1 arm64 build.log |
Description
piotr5
2021-09-20 23:32:05 UTC
Please provide the full build.log and emerge --info, as the output here doesn't look right. yes, sorry, I forgot a linebreak. not sure what my emerge --info would help, the verbose emerge just said [ebuild N ] media-libs/gstreamer-1.18.4:1.0::gentoo USE="caps introspection nls orc -test -unwind" ABI_X86="32 (64) (-x32)" 0 KiB uname is Linux-5.2.20-aufs-x86_64-AMD_A10-7890K_Radeon_R7,_12_Compute_Cores_4C+8G-with-glibc2.33 I searched and the missing symbol is not found in /usr/include, the compilation-output contains the symbol in work/gstreamer-1.18.4-abi_x86_64.amd64/libs/gst/base/libgstbase-1.0.so.0.1804.0 work/gstreamer-1.18.4-abi_x86_64.amd64/libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstaggregator.c.o work/gstreamer-1.18.4-abi_x86_64.amd64/libs/gst/base/libgstbase-1.0.so.0.1804.0.p/libgstbase-1.0.so.0.1804.0.symbols work/gstreamer-1.18.4-abi_x86_32.x86/libs/gst/base/libgstbase-1.0.so.0.1804.0 work/gstreamer-1.18.4-abi_x86_32.x86/libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstaggregator.c.o work/gstreamer-1.18.4-abi_x86_32.x86/libs/gst/base/libgstbase-1.0.so.0.1804.0.p/libgstbase-1.0.so.0.1804.0.symbols and it's in the sources work/gstreamer-1.18.4/libs/gst/base/gstaggregator.h work/gstreamer-1.18.4/libs/gst/base/gstaggregator.c in the log there's warnings for deprecated g_memdup in libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstbitwriter.c.o libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstbaseparse.c.o libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstbytewriter.c.o libs/gst/base/libgstbase-1.0.so.0.1804.0.p/gstbytereader.c.o and finally the actual error is in executing the command starting with [171/203] /usr/bin/g-ir-scanner --no-libtool --namespace=GstBase --nsversion=1.0 --warn-all --output libs/gst/base/GstBase-1.0.gir i.e. the actual compilation works fine, the post-compilation things are allowed to assume that maybe you already did do the install hence the problem with pkg-config followed by Command '['/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspect8106njp3/GstBase-1.0', '--introspect-dump=/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspect8106njp3/functions.txt,/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspect8106njp3/dump.xml']' returned non-zero exit status 127. thinking it possible the error was caused by g-ir-scanner or rather dev-libs/gobject-introspection being last compiled before switching profile and thereby caused by some /lib vs /lib64 mess, I fixed that situation but still got the same error. or rather since I reinstalled the old version I get the thing without pkg-config problems: /usr/x86_64-pc-linux-gnu/gcc-bin/10.3.0/../../../lib/gcc/x86_64-pc-linux-gnu/10.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspectnai33g4t/GstBase-1.0.o:(.data.rel+0x18): undefined reference to `gst_aggregator_start_time_selection_get_type' collect2: error: ld returned 1 exit status linking of temporary binary failed: Command '['x86_64-pc-linux-gnu-gcc', '-pthread', '-o', '/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspectnai33g4t/GstBase-1.0', '-O2', '-march=bdver3', '-mmmx', '-msse', '-msse2', '-msse3', '-mssse3', '-msse4a', '-mcx16', '-msahf', '-maes', '-mpclmul', '-mpopcnt', '-mabm', '-mlwp', '-mfma', '-mfma4', '-mxop', '-mbmi', '-mtbm', '-mavx', '-msse4.2', '-msse4.1', '-mlzcnt', '-mf16c', '-mfsgsbase', '-mprfchw', '-mfxsr', '-mxsave', '-mxsaveopt', '--param', 'l1-cache-size=16', '--param', 'l1-cache-line-size=64', '--param', 'l2-cache-size=2048', '-mtune=bdver3', '-fstack-protector-strong', '-fomit-frame-pointer', '-pipe', '/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/tmp-introspectnai33g4t/GstBase-1.0.o', '-L.', '-Wl,-rpath,.', '-Wl,--no-as-needed', '-L/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/gst', '-Wl,-rpath,/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/gst', '-L/usr/lib64', '-Wl,-rpath,/usr/lib64', '-L/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/libs/gst/base', '-Wl,-rpath,/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/libs/gst/base', '-L/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/gst', '-Wl,-rpath,/var/tmp/portage/media-libs/gstreamer-1.18.4/work/gstreamer-1.18.4-abi_x86_64.amd64/gst', '-L/usr/lib64', '-Wl,-rpath,/usr/lib64', '-lgstbase-1.0', '-lgstreamer-1.0', '-lgobject-2.0', '-lglib-2.0', '-lgmodule-2.0', '-lm', '-ldl', '-lgirepository-1.0', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lglib-2.0', '-lglib-2.0', '-Wl,-O1', '-Wl,--as-needed']' returned non-zero exit status 1. guess in future I'll need to compile media-libs/gstreamer with USE=-introspection before recompiling it normally? I want to confirm the bug, and quick fix, the build with USE=-introspection emerge -1av --nodeps media-libs/gstreamer makes next normal build successful. Both are compiled with FEATURES="distcc" Created attachment 767691 [details]
gstreamer 1.20.1 arm64 build.log
still hitting this with 1.20.1 on arm64. Just as the last comment, its g-ir failing
Has anyone actually hit this without distcc? (In reply to Sam James from comment #5) > Has anyone actually hit this without distcc? hit, but with 1.20.1 version linker error persist with every possible compiler/linker combinations. after disable introspection, error gone. so g-ir-scanner is really the faulty part. |