Summary: | media-plugins/gst-transcoder-1.8.1 : /.../ld: tmp-introspect0Wc69s/.../GstTranscoder-1.0.o: undefined reference to symbol 'gst_init' with meson-0.34.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | darkcircle.0426, harrisl, jarausch, plevine457 |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=591564 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 582084 | ||
Attachments: |
emerge-history.txt
environment media-plugins:gst-transcoder-1.8.1:20160918-000029.log emerge --info |
Description
Toralf Förster
2016-09-18 08:55:26 UTC
Created attachment 446316 [details]
emerge-history.txt
Created attachment 446318 [details]
environment
Created attachment 446320 [details]
media-plugins:gst-transcoder-1.8.1:20160918-000029.log
I have no problem merging this build with gcc-6.2.0. it emerges at 1 of 10 images and failed at 8 others (7 x gcc-6.2.0 and 1x gcc-5.4) - so indeed not a gcc-6 only issue :/ Introspection building should be fixed in 1.8.2. It was missing some dependencies to pull gstreamer introspection. As for parallel build failures, if there is any, that would make me sad because this is another "hype" build system and this is going to suck to debug it. Created attachment 446622 [details] emerge --info /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/build.log ################################################################## [32;01m * [39;49;00mPackage: media-plugins/gst-transcoder-1.8.2 [32;01m * [39;49;00mRepository: gentoo [32;01m * [39;49;00mMaintainer: gstreamer@gentoo.org [32;01m * [39;49;00mUSE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU [32;01m * [39;49;00mFEATURES: preserve-libs sandbox selinux sesandbox userpriv >>> Unpacking source... >>> Unpacking gst-transcoder-1.8.2.tar.gz to /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work >>> Source unpacked in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work >>> Preparing source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... [1mThe Meson build system[0m Version: 0.34.0 Source dir: [1m/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2[0m Build dir: [1m/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2/mesonbuild[0m Build type: [1mnative build[0m Build machine cpu family: [1mx86_64[0m Build machine cpu: [1mx86_64[0m Project name: [1mgst-renderer[0m Native c compiler: [1mcc[0m (gcc 5.4.0) Appending CFLAGS from environment: '-Os -pipe' Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' Checking for function "[1mgetrusage[0m": [1;32mYES[0m Found pkg-config: [1m/usr/bin/pkg-config[0m (0.29.1) Native dependency [1mgobject-2.0[0m found: [1;32mYES[0m 2.48.2 Native dependency [1mglib-2.0[0m found: [1;32mYES[0m 2.48.2 Native dependency [1mgstreamer-1.0[0m found: [1;32mYES[0m 1.8.3 Native dependency [1mgstreamer-pbutils-1.0[0m found: [1;32mYES[0m 1.8.3 Build targets in project: [1m5[0m >>> Source configured. >>> Compiling source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/environment: line 1906: cd: build: No such file or directory >>> Source compiled. >>> Test phase [not enabled]: media-plugins/gst-transcoder-1.8.2 >>> Install gst-transcoder-1.8.2 into /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/ category media-plugins make -j4 DESTDIR=/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/ install cd /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2/mesonbuild && DESTDIR="/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/" ninja install [0/12] Compiling c object 'gsttranscoder-1.0@sha/gst-libs_gst_transcoding_transcoder_gsttranscoder.c.o'[K [0/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gsttranscodebin.c.o'[K [0/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gsturitranscodebin.c.o'[K [0/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gst-cpu-throttling-clock.c.o'[K [0/12] Compiling c object 'gst-transcoder-1.0@exe/tools_gst-transcoder.c.o'[K [1/12] Compiling c object 'gst-transcoder-1.0@exe/tools_gst-transcoder.c.o'[K [2/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gst-cpu-throttling-clock.c.o'[K [3/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gsturitranscodebin.c.o'[K [4/12] Compiling c object 'gsttranscoderplugin@sha/gst_transcode_gsttranscodebin.c.o'[K [4/12] Linking target libgsttranscoderplugin.so[K [5/12] Linking target libgsttranscoderplugin.so[K [6/12] Compiling c object 'gsttranscoder-1.0@sha/gst-libs_gst_transcoding_transcoder_gsttranscoder.c.o'[K [6/12] Linking target libgsttranscoder-1.0.so.0[K [7/12] Linking target libgsttranscoder-1.0.so.0[K [7/12] 'Generating GstTranscoder-1.0.gir with a custom command.'[K [7/12] Generating symbol file 'gsttranscoder-1.0@sha/libgsttranscoder-1.0.so.0.symbols'.[K [8/12] Generating symbol file 'gsttranscoder-1.0@sha/libgsttranscoder-1.0.so.0.symbols'.[K [8/12] Linking target gst-transcoder-1.0[K [9/12] Linking target gst-transcoder-1.0[K [10/12] 'Generating GstTranscoder-1.0.gir with a custom command.'[K FAILED: GstTranscoder-1.0.gir 'g-ir-scanner' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.h' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.c' '-pthread' '-I/usr/include/gobject-introspection-1.0' '-I/usr/lib64/libffi-3.2.1/include' '-I/usr/include/glib-2.0' '-I/usr/lib64/glib-2.0/include' '--no-libtool' '--namespace=GstTranscoder' '--nsversion=1.0' '--warn-all' '--output' 'GstTranscoder-1.0.gir' '--add-init-section=extern gboolean gst_init(gint *argc, gchar **argv); gst_init(NULL,NULL);' '--include=GObject-2.0' '--include=Gst-1.0' '--include=GstPbutils-1.0' '--symbol-prefix=gst_' '--identifier-prefix=Gst' '--add-include-path=/usr/share/gir-1.0' '-L/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2/mesonbuild/.' '--library' 'gsttranscoder-1.0' /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: tmp-introspectd3XbhU/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2/mesonbuild/tmp-introspectd3XbhU/GstTranscoder-1.0.o: undefined reference to symbol 'gst_init' /usr/lib64/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Traceback (most recent call last): File "/usr/bin/g-ir-scanner", line 66, in <module> sys.exit(scanner_main(sys.argv)) File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 544, in scanner_main shlibs = create_binary(transformer, options, args) File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 419, in create_binary gdump_parser.get_error_quark_functions()) File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 328, in compile_introspection_binary return dc.run() File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 174, in run self._link(bin_path, introspection_obj) File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 296, in _link raise LinkError(e) distutils.errors.LinkError: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1 ninja: build stopped: subcommand failed. make: *** [Makefile:5: install] Error 1 [31;01m*[0m ERROR: media-plugins/gst-transcoder-1.8.2::gentoo failed (install phase): [31;01m*[0m emake failed [31;01m*[0m [31;01m*[0m If you need support, post the output of `emerge --info '=media-plugins/gst-transcoder-1.8.2::gentoo'`, [31;01m*[0m the complete build log and the output of `emerge -pqv '=media-plugins/gst-transcoder-1.8.2::gentoo'`. [31;01m*[0m The complete build log is located at '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/build.log'. [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/environment'. [31;01m*[0m Working directory: '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2' [31;01m*[0m S: '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2' (In reply to Denis Descheneaux from comment #7) > Created attachment 446622 [details] > emerge --info > > /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/build.log > ################################################################## > > [32;01m * [39;49;00mPackage: media-plugins/gst-transcoder-1.8.2 > [32;01m * [39;49;00mRepository: gentoo > [32;01m * [39;49;00mMaintainer: gstreamer@gentoo.org > [32;01m * [39;49;00mUSE: abi_x86_64 amd64 elibc_glibc kernel_linux > userland_GNU > [32;01m * [39;49;00mFEATURES: preserve-libs sandbox selinux sesandbox > userpriv > >>> Unpacking source... > >>> Unpacking gst-transcoder-1.8.2.tar.gz to /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work > >>> Source unpacked in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work > >>> Preparing source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... > >>> Source prepared. > >>> Configuring source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... > [1mThe Meson build system[0m > Version: 0.34.0 > Source dir: > [1m/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1. > 8.2[0m > Build dir: > [1m/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1. > 8.2/mesonbuild[0m > Build type: [1mnative build[0m > Build machine cpu family: [1mx86_64[0m > Build machine cpu: [1mx86_64[0m > Project name: [1mgst-renderer[0m > Native c compiler: [1mcc[0m (gcc 5.4.0) > Appending CFLAGS from environment: '-Os -pipe' > Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' > Checking for function "[1mgetrusage[0m": [1;32mYES[0m > Found pkg-config: [1m/usr/bin/pkg-config[0m (0.29.1) > Native dependency [1mgobject-2.0[0m found: [1;32mYES[0m 2.48.2 > Native dependency [1mglib-2.0[0m found: [1;32mYES[0m 2.48.2 > Native dependency [1mgstreamer-1.0[0m found: [1;32mYES[0m 1.8.3 > Native dependency [1mgstreamer-pbutils-1.0[0m found: [1;32mYES[0m 1.8.3 > Build targets in project: [1m5[0m > >>> Source configured. > >>> Compiling source in /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8.2 ... > /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/environment: line > 1906: cd: build: No such file or directory > >>> Source compiled. > >>> Test phase [not enabled]: media-plugins/gst-transcoder-1.8.2 > > >>> Install gst-transcoder-1.8.2 into /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/ category media-plugins > make -j4 DESTDIR=/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/ > install > cd > /var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8. > 2/mesonbuild && > DESTDIR="/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/image/" ninja > install > > [0/12] Compiling c object > 'gsttranscoder-1.0@sha/gst-libs_gst_transcoding_transcoder_gsttranscoder.c. > o'[K > [0/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gsttranscodebin.c.o'[K > [0/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gsturitranscodebin.c.o'[K > [0/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gst-cpu-throttling-clock.c.o'[K > [0/12] Compiling c object 'gst-transcoder-1.0@exe/tools_gst-transcoder.c.o'[K > [1/12] Compiling c object 'gst-transcoder-1.0@exe/tools_gst-transcoder.c.o'[K > [2/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gst-cpu-throttling-clock.c.o'[K > [3/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gsturitranscodebin.c.o'[K > [4/12] Compiling c object > 'gsttranscoderplugin@sha/gst_transcode_gsttranscodebin.c.o'[K > [4/12] Linking target libgsttranscoderplugin.so[K > [5/12] Linking target libgsttranscoderplugin.so[K > [6/12] Compiling c object > 'gsttranscoder-1.0@sha/gst-libs_gst_transcoding_transcoder_gsttranscoder.c. > o'[K > [6/12] Linking target libgsttranscoder-1.0.so.0[K > [7/12] Linking target libgsttranscoder-1.0.so.0[K > [7/12] 'Generating GstTranscoder-1.0.gir with a custom command.'[K > [7/12] Generating symbol file > 'gsttranscoder-1.0@sha/libgsttranscoder-1.0.so.0.symbols'.[K > [8/12] Generating symbol file > 'gsttranscoder-1.0@sha/libgsttranscoder-1.0.so.0.symbols'.[K > [8/12] Linking target gst-transcoder-1.0[K > [9/12] Linking target gst-transcoder-1.0[K > [10/12] 'Generating GstTranscoder-1.0.gir with a custom command.'[K > FAILED: GstTranscoder-1.0.gir > 'g-ir-scanner' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.h' > '../gst-libs/gst/transcoding/transcoder/gsttranscoder.c' '-pthread' > '-I/usr/include/gobject-introspection-1.0' > '-I/usr/lib64/libffi-3.2.1/include' '-I/usr/include/glib-2.0' > '-I/usr/lib64/glib-2.0/include' '--no-libtool' '--namespace=GstTranscoder' > '--nsversion=1.0' '--warn-all' '--output' 'GstTranscoder-1.0.gir' > '--add-init-section=extern gboolean gst_init(gint *argc, gchar **argv); > gst_init(NULL,NULL);' '--include=GObject-2.0' '--include=Gst-1.0' > '--include=GstPbutils-1.0' '--symbol-prefix=gst_' '--identifier-prefix=Gst' > '--add-include-path=/usr/share/gir-1.0' > '-L/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1. > 8.2/mesonbuild/.' '--library' 'gsttranscoder-1.0' > /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: > tmp-introspectd3XbhU/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/ > gst-transcoder-1.8.2/mesonbuild/tmp-introspectd3XbhU/GstTranscoder-1.0.o: > undefined reference to symbol 'gst_init' > /usr/lib64/libgstreamer-1.0.so.0: error adding symbols: DSO missing from > command line > collect2: error: ld returned 1 exit status > Traceback (most recent call last): > File "/usr/bin/g-ir-scanner", line 66, in <module> > sys.exit(scanner_main(sys.argv)) > File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line > 544, in scanner_main > shlibs = create_binary(transformer, options, args) > File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line > 419, in create_binary > gdump_parser.get_error_quark_functions()) > File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 328, in > compile_introspection_binary > return dc.run() > File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 174, in > run > self._link(bin_path, introspection_obj) > File "/usr/lib64/gobject-introspection/giscanner/dumper.py", line 296, in > _link > raise LinkError(e) > distutils.errors.LinkError: command 'x86_64-pc-linux-gnu-gcc' failed with > exit status 1 > ninja: build stopped: subcommand failed. > make: *** [Makefile:5: install] Error 1 > [31;01m*[0m ERROR: media-plugins/gst-transcoder-1.8.2::gentoo failed > (install phase): > [31;01m*[0m emake failed > [31;01m*[0m > [31;01m*[0m If you need support, post the output of `emerge --info > '=media-plugins/gst-transcoder-1.8.2::gentoo'`, > [31;01m*[0m the complete build log and the output of `emerge -pqv > '=media-plugins/gst-transcoder-1.8.2::gentoo'`. > [31;01m*[0m The complete build log is located at > '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/build.log'. > [31;01m*[0m The ebuild environment file is located at > '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/temp/environment'. > [31;01m*[0m Working directory: > '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8. > 2' > [31;01m*[0m S: > '/var/tmp/portage/media-plugins/gst-transcoder-1.8.2/work/gst-transcoder-1.8. > 2' I have the really same problem. Does it change anything if downgrading to meson-0.33.0? Downgrading to meson-0.33.0 fixed the problem for me. (In reply to Pacho Ramos from comment #9) > Does it change anything if downgrading to meson-0.33.0? It also resolves my problem, thanks. :) so ... would you have a mind to mask >dev-util/meson-0.33.0 ? only gst-transcoder depends on meson in my machine. *** Bug 594780 has been marked as a duplicate of this bug. *** building fine with =dev-util/meson-0.33.0 As a matter of fact I reproduce this error with meson-0.34. All my previous work on gst-transcoder was done with 0.33 hence me not meeting this problem. We should probably mask 0.34. From the build of media-plugins/gst-transcoder-1.8.1 using meson-0.33.0: 'g-ir-scanner' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.h' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.c' '-pthread' '-I/usr/include/gobject-introspection-1.0' '-I/usr/lib64/libffi-3.2.1/include' '-I/usr/include/glib-2.0' '-I/usr/lib64/glib-2.0/include' '--no-libtool' '--namespace=GstTranscoder' '--nsversion=1.0' '--warn-all' '--output' 'GstTranscoder-1.0.gir' '--add-init-section=extern gboolean gst_init(gint *argc, gchar **argv); gst_init(NULL,NULL);' '--include=GObject-2.0' '--include=Gst-1.0' '--include=GstPbutils-1.0' '--symbol-prefix=gst_' '--identifier-prefix=Gst' '--add-include-path=/usr/share/gir-1.0' '-lgstreamer-1.0' '-lgobject-2.0' '-lglib-2.0' '-L/var/tmp/portage/media-plugins/gst-transcoder-1.8.1/work/gst-transcoder-1.8.1/build/.' '--library' 'gsttranscoder-1.0' It correctly includes "'-lgobject-2.0' '-lglib-2.0'". When building with meson-0.34.0, it omits those linking flags for whatever reason, leading to unresolved symbols. (In reply to Peter Levine from comment #15) > From the build of media-plugins/gst-transcoder-1.8.1 using meson-0.33.0: > > 'g-ir-scanner' '../gst-libs/gst/transcoding/transcoder/gsttranscoder.h' > '../gst-libs/gst/transcoding/transcoder/gsttranscoder.c' '-pthread' > '-I/usr/include/gobject-introspection-1.0' > '-I/usr/lib64/libffi-3.2.1/include' '-I/usr/include/glib-2.0' > '-I/usr/lib64/glib-2.0/include' '--no-libtool' '--namespace=GstTranscoder' > '--nsversion=1.0' '--warn-all' '--output' 'GstTranscoder-1.0.gir' > '--add-init-section=extern gboolean gst_init(gint *argc, gchar **argv); > gst_init(NULL,NULL);' '--include=GObject-2.0' '--include=Gst-1.0' > '--include=GstPbutils-1.0' '--symbol-prefix=gst_' '--identifier-prefix=Gst' > '--add-include-path=/usr/share/gir-1.0' '-lgstreamer-1.0' '-lgobject-2.0' > '-lglib-2.0' > '-L/var/tmp/portage/media-plugins/gst-transcoder-1.8.1/work/gst-transcoder-1. > 8.1/build/.' '--library' 'gsttranscoder-1.0' > > > It correctly includes "'-lgobject-2.0' '-lglib-2.0'". When building with > meson-0.34.0, it omits those linking flags for whatever reason, leading to > unresolved symbols. Actually, never mind. It doesn't appear to need those libraries for symbol resolution after all. [master 077354d] package.mask: meson-0.34.0 is broken (#594172) 1 file changed, 4 insertions(+) This works ok for me with latest meson version, also I needed to fix the ebuild of 1.8.2 as build dir was renamed but ebuild wasn't dying properly. Hopefully it will die in future breakages instead of silently failing |