[gstreamer-bugs] [Bug 461838] New: Fails to build on Mac OS X i686 with multiply defined symbols

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Jul 30 08:36:40 PDT 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=461838

  GStreamer | gst-python | Ver: HEAD CVS
           Summary: Fails to build on Mac OS X i686 with multiply defined
                    symbols
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Macintosh
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-python
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: dackze at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Using Apple's GCC and MacPort's gstreamer:

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5367.obj~1/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=powerpc-apple-darwin8 --with-arch=nocona --with-tune=generic
--program-prefix= --host=i686-apple-darwin8 --target=i686-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5367)

$ port installed
[...]
  gstreamer @0.10.13_0
[...]

building fails with the following:

gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/_gst.so -bundle
 .libs/_gst_la-gst-argtypes.o .libs/_gst_la-gstmodule.o
.libs/_gst_la-pygstiterator.o .libs/_gst_la-pygstminiobject.o
.libs/_gst_la-pygstvalue.o .libs/_gst_la-pygstexception.o .libs/_gst_la-gst.o 
-L/opt/local/lib /opt/local/lib/libgstcontroller-0.10.dylib
/opt/local/lib/libz.dylib /opt/local/lib/libgstnet-0.10.dylib
/opt/local/lib/libgstdataprotocol-0.10.dylib
/opt/local/lib/libgstbase-0.10.dylib /opt/local/lib/libgstreamer-0.10.dylib
/opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib
/opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libxml2.dylib -lpthread -lz
-lm /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib
/opt/local/lib/libiconv.dylib
/usr/bin/ld: multiple definitions of symbol _PyGstIterator_Type
.libs/_gst_la-gst-argtypes.o definition of _PyGstIterator_Type in section
(__DATA,__common)
.libs/_gst_la-gstmodule.o definition of _PyGstIterator_Type in section
(__DATA,__common)
/usr/bin/ld: multiple definitions of symbol __PyGObject_API
.libs/_gst_la-gst-argtypes.o definition of __PyGObject_API in section
(__DATA,__common)
.libs/_gst_la-gstmodule.o definition of __PyGObject_API in section
(__DATA,__common)
.libs/_gst_la-pygstiterator.o definition of _PyGstIterator_Type in section
(__DATA,__data)
.libs/_gst_la-pygstiterator.o definition of __PyGObject_API in section
(__DATA,__common)
.libs/_gst_la-pygstminiobject.o definition of _PyGstIterator_Type in section
(__DATA,__common)
.libs/_gst_la-pygstminiobject.o definition of __PyGObject_API in section
(__DATA,__common)
.libs/_gst_la-pygstvalue.o definition of _PyGstIterator_Type in section
(__DATA,__common)
.libs/_gst_la-pygstvalue.o definition of __PyGObject_API in section
(__DATA,__common)
.libs/_gst_la-gst.o definition of _PyGstIterator_Type in section
(__DATA,__common)
.libs/_gst_la-gst.o definition of __PyGObject_API in section (__DATA,__common)
collect2: ld returned 1 exit status
make[3]: *** [_gst.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

If I add "-multiply_defined suppress" to LDFLAGS, building fails with the
following:

gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/_gst.so -bundle
 .libs/_gst_la-gst-argtypes.o .libs/_gst_la-gstmodule.o
.libs/_gst_la-pygstiterator.o .libs/_gst_la-pygstminiobject.o
.libs/_gst_la-pygstvalue.o .libs/_gst_la-pygstexception.o .libs/_gst_la-gst.o 
-L/opt/local/lib /opt/local/lib/libgstcontroller-0.10.dylib
/opt/local/lib/libz.dylib /opt/local/lib/libgstnet-0.10.dylib
/opt/local/lib/libgstdataprotocol-0.10.dylib
/opt/local/lib/libgstbase-0.10.dylib /opt/local/lib/libgstreamer-0.10.dylib
/opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib
/opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libxml2.dylib -lpthread -lz
-lm /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib
/opt/local/lib/libiconv.dylib -multiply_defined
i686-apple-darwin8-gcc-4.0.1: .libs/_gst.so: No such file or directory
make[3]: *** [_gst.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I assume a "./configure && make" would suffice to build most libraries, but
that doesn't seem to be the case here. I'm not entirely sure if it's an error
in gst-python, or an error in how I'm building gst-python.

In any case, I'll attach logs for "./configure" and "make", for both with and
without using "-multiply_defined suppress"

Also, this is with gst-python-0.10.7, but the exact same errors occur with the
version in CVS -- if I let it build despite compiler warnings, that is.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=461838.




More information about the Gstreamer-bugs mailing list