[gstreamer-bugs] [Bug 639039] New: to solve a problem between gcc-4.5.2 and gst-plugins-base-0.10.31.2

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Jan 8 22:15:24 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=639039
  GStreamer | gst-plugins-base | git

           Summary: to solve a problem between gcc-4.5.2 and
                    gst-plugins-base-0.10.31.2
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: brofkims at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


1. Gst-plugin-base-0.10.31.2 as of latest git source cannot be built on
developmental Ubuntu 11.04(natty) with gcc-4.5.2 and binutils-2.21.
The behavioure of Gcc-4.5.x is different from previous versions, ie., It
directly tries to link binary against necessary libraries.

2. I failed to link Pbutils-0.10.0 against libgstreamer-0.10.so, and the build
process of gst-plugins-base-0.10.31.2 aborts. Error messsages are as follows:

 libtool: link: ( cd ".libs" && rm -f "libgstpbutils-0.10.la" && ln -s
"../libgstpbutils-0.10.la" "libgstpbutils-0.10.la" )
PKG_CONFIG_PATH="../../../pkgconfig" \
        /usr/bin/g-ir-scanner -v --namespace GstPbutils \
        --nsversion=0.10 \
        --strip-prefix=Gst \
        --c-include='gst/pbutils/pbutils.h'
--c-include='gst/pbutils/codec-utils.h'
--c-include='gst/pbutils/descriptions.h'
--c-include='gst/pbutils/encoding-profile.h'
--c-include='gst/pbutils/encoding-target.h'
--c-include='gst/pbutils/install-plugins.h'
--c-include='gst/pbutils/missing-plugins.h'
--c-include='gst/pbutils/gstdiscoverer.h'
--c-include='gst/pbutils/gstpluginsbaseversion.h'
--c-include='gst/pbutils/pbutils-enumtypes.h' \
        -I../../../gst-libs \
        -I../../../gst-libs \
        --add-include-path=./../video \
        --add-include-path=`/usr/bin/pkg-config --variable=girdir
gstreamer-0.10` \
        --library=libgstpbutils-0.10.la \
        --include=Gst-0.10 \
        --libtool="../../../libtool" \
        --pkg gstreamer-0.10 \
        --pkg gstreamer-video-0.10 \
        --pkg-export gstreamer-pbutils-0.10 \
        --add-init-section="gst_init(NULL,NULL);" \
        --output GstPbutils-0.10.gir \
        ./pbutils.h ./codec-utils.h ./descriptions.h ./encoding-profile.h
./encoding-target.h ./install-plugins.h ./missing-plugins.h ./gstdiscoverer.h
./gstpluginsbaseversion.h ./pbutils-enumtypes.h \
        ./gstpluginsbaseversion.c ./pbutils.c ./codec-utils.c ./descriptions.c
./encoding-profile.c ./encoding-target.c ./install-plugins.c
./missing-plugins.c ./gstdiscoverer.c ./gstdiscoverer-types.c
./pbutils-enumtypes.c ./pbutils-marshal.c
g-ir-scanner: warning: Option --strip-prefix has been deprecated;
see --identifier-prefix and --symbol-prefix.
g-ir-scanner: compile: gcc -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -g -O2 -g -Wall -O2 -Wno-error -I../../../gst-libs
-I../../../gst-libs
-I/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/gstreamer-0.10 -I/usr/include/libxml2 -c -o
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.o
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.c
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.c:
In function ‘main’:
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.c:501:3:
warning: implicit declaration of function ‘gst_init’
g-ir-scanner: link: ../../../libtool --mode=link --tag=CC --silent gcc -o
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10
-export-dynamic -g -O2 -g -Wall -O2 -Wno-error -L. libgstpbutils-0.10.la
-pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.o
/usr/bin/ld.bfd.real:
/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.o:
undefined reference to symbol 'gst_init'
/usr/bin/ld.bfd.real: note: 'gst_init' is defined in DSO
/usr/lib64/libgstreamer-0.10.so.0 so try adding it to the linker command line
/usr/lib64/libgstreamer-0.10.so.0: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
linking of temporary binary failed: Command '['../../../libtool',
'--mode=link', '--tag=CC', '--silent', 'gcc', '-o',
'/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10',
'-export-dynamic', '-g', '-O2', '-g', '-Wall', '-O2', '-Wno-error', '-L.',
'libgstpbutils-0.10.la', '-pthread', '-lgio-2.0', '-lgobject-2.0',
'-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0',
'/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/tmp-introspect2AEHMr/GstPbutils-0.10.o']'
returned non-zero exit status 1
make[6]: *** [GstPbutils-0.10.gir] error 1
make[6]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils'
make[5]: *** [all] error 2
make[5]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils'
make[4]: *** [all-recursive] error 1
make[4]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst'
make[3]: *** [all-recursive] error 1
make[3]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs'
make[2]: *** [all-recursive] error 1
make[2]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig'
make[1]: *** [all] error 2
make[1]: Leaving directory
`/home/brofkims/build/gst-plugins-base0.10-0.10.31.2+git20110108.orig'
make: *** [debian/stamp-makefile-build] error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

3. I successfully built gst-plugins-base-0.10.31.2 after patching
gst-libs/gst/pbutils/Makefile.{am,in} as follows:

changes:

added '--library=gstreamer-0.10' to gst-libs/gst/pbutils/Makefile.am and
'@HAVE_INTROSPECTION_TRUE@               --library=gstreamer-0.10' to
gst-libs/gst/pbutils/Makefile.in to link binary against libgstreamer-0.10.so

patch:

diff -urN
gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/Makefile.am
gst-plugins-base0.10-0.10.31.2+git20110108/gst-libs/gst/pbutils/Makefile.am
---
gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/Makefile.am
   2011-01-09 14:47:18.000000000 +0900
+++ gst-plugins-base0.10-0.10.31.2+git20110108/gst-libs/gst/pbutils/Makefile.am
2011-01-09 00:48:20.000000000 +0900
@@ -85,6 +85,7 @@
                --add-include-path=$(srcdir)/../video \
                --add-include-path=`$(PKG_CONFIG) --variable=girdir
gstreamer-0.10` \
                --library=libgstpbutils-0.10.la \
+               --library=gstreamer-0.10 \
                --include=Gst-0.10 \
                --libtool="$(top_builddir)/libtool" \
                --pkg gstreamer-0.10 \
diff -urN
gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/Makefile.in
gst-plugins-base0.10-0.10.31.2+git20110108/gst-libs/gst/pbutils/Makefile.in
---
gst-plugins-base0.10-0.10.31.2+git20110108.orig/gst-libs/gst/pbutils/Makefile.in
   2011-01-09 14:46:55.000000000 +0900
+++ gst-plugins-base0.10-0.10.31.2+git20110108/gst-libs/gst/pbutils/Makefile.in
2011-01-09 00:40:23.000000000 +0900
@@ -1116,6 +1116,7 @@
 @HAVE_INTROSPECTION_TRUE@              --add-include-path=$(srcdir)/../video \
 @HAVE_INTROSPECTION_TRUE@              --add-include-path=`$(PKG_CONFIG)
--variable=girdir gstreamer-0.10` \
 @HAVE_INTROSPECTION_TRUE@              --library=libgstpbutils-0.10.la \
+ at HAVE_INTROSPECTION_TRUE@              --library=gstreamer-0.10 \
 @HAVE_INTROSPECTION_TRUE@              --include=Gst-0.10 \
 @HAVE_INTROSPECTION_TRUE@              --libtool="$(top_builddir)/libtool" \
 @HAVE_INTROSPECTION_TRUE@              --pkg gstreamer-0.10 \

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the Gstreamer-bugs mailing list