Hi,<br><br>I'm trying to compile gst-python on OS X 10.4.8 and run in a number of problems.<br>First of all, I have a running gstreamer environment compiled from the CVS repository. <br>All the unit tests complete successfully including all the 30+ libraries on which gstreamer
<br>depends.<br><br>When I compile gst-python, make bails out with the following errors:<br><br>==================================================<br>generating symbol list for `_gst.la'<br>/usr/bin/nm -p&nbsp; .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&nbsp; | sed -n -e 's/^.*[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]\([BCDEGRST][BCDEGRST]*\)[&nbsp;&nbsp;&nbsp;&nbsp; ][&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' | /usr/bin/sed 's/.* //' | sort | uniq &gt; .libs/_gst.exp
<br>/usr/bin/grep -E -e &quot;^(init_gst|_PyGObject_API).*&quot; &quot;.libs/_gst.exp&quot; &gt; &quot;.libs/_gst.expT&quot;<br>mv -f &quot;.libs/_gst.expT&quot; &quot;.libs/_gst.exp&quot;<br>sed -e &quot;s,#.*,,&quot; -e &quot;s,^[ ]*,,&quot; -e &quot;s,^\(..*\),_&amp;,&quot; &lt; .libs/_gst.exp &gt; .libs/_gst-
symbols.expsym<br>gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/_gst.so -bundle&nbsp; .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&nbsp; -L/Users/gideon/build_darwin/lib -L/Users/gideon/build_darwin//lib /Users/gideon/build_darwin/lib/libgstcontroller-0.10.dylib /Users/gideon/build_darwin/lib/libgstnet-
0.10.dylib /Users/gideon/build_darwin/lib/libgstdataprotocol-0.10.dylib /Users/gideon/build_darwin/lib/libgstbase-0.10.dylib /Users/gideon/build_darwin/lib/libgstreamer-0.10.dylib /Users/gideon/build_darwin//lib/libgobject-
2.0.dylib /Users/gideon/build_darwin//lib/libgmodule-2.0.dylib /Users/gideon/build_darwin//lib/libgthread-2.0.dylib /Users/gideon/build_darwin//lib/libxml2.dylib -lpthread -lz -lm /Users/gideon/build_darwin//lib/libglib-
2.0.dylib
 /Users/gideon/build_darwin//lib/libintl.dylib /Users/gideon/build_darwin//lib/libiconv.dylib<br>/usr/bin/ld: multiple definitions of symbol _PyGstIterator_Type<br>.libs/_gst_la-gst-argtypes.o definition of _PyGstIterator_Type in section (__DATA,__common)
<br>.libs/_gst_la-gstmodule.o definition of _PyGstIterator_Type in section (__DATA,__common)<br>/usr/bin/ld: multiple definitions of symbol __PyGObject_API<br>.libs/_gst_la-gst-argtypes.o definition of __PyGObject_API in section (__DATA,__common)
<br>.libs/_gst_la-gstmodule.o definition of __PyGObject_API in section (__DATA,__common)<br>.libs/_gst_la-pygstiterator.o definition of _PyGstIterator_Type in section (__DATA,__data)<br>.libs/_gst_la-pygstiterator.o definition of __PyGObject_API in section (__DATA,__common)
<br>.libs/_gst_la-pygstminiobject.o definition of _PyGstIterator_Type in section (__DATA,__common)<br>.libs/_gst_la-pygstminiobject.o definition of __PyGObject_API in section (__DATA,__common)<br>.libs/_gst_la-pygstvalue.o

 definition of _PyGstIterator_Type in section (__DATA,__common)<br>.libs/_gst_la-pygstvalue.o definition of __PyGObject_API in section (__DATA,__common)<br>.libs/_gst_la-gst.o definition of _PyGstIterator_Type in section (__DATA,__common)
<br>.libs/_gst_la-gst.o definition of __PyGObject_API in section (__DATA,__common)<br>collect2: ld returned 1 exit status<br>make[3]: *** [_gst.la] Error 1<br>make[2]: *** [all-recursive] Error 1<br>make[1]: *** [all-recursive] Error 1
<br>make: *** [all] Error 2<br>==================================================<br>
<br>It seems that the objects PyGstIterator_Type and _PyGObject_API have <br>multiple definitions, which is in violation of the 'One Definition Rule'. <br><br>I've been able to compile and run the tests successfully after applying the following patches:
<br>Index: gst/common.h<br>===================================================================<br>RCS file: /cvs/gstreamer/gst-python/gst/common.h,v<br>retrieving revision 1.14<br>diff -r1.14 common.h<br>56c56<br>&lt; PyTypeObject PyGstIterator_Type;
<br>---<br>&gt; extern PyTypeObject PyGstIterator_Type;<br>Index: gst/pygstiterator.c<br>===================================================================<br>RCS file: /cvs/gstreamer/gst-python/gst/pygstiterator.c,v<br>
retrieving revision 1.5<br>diff -r1.5 pygstiterator.c<br>22a23,24<br>&gt; #define NO_IMPORT_PYGOBJECT<br>&gt; <br>24a27,28<br>&gt; PyTypeObject PyGstIterator_Type;<br>&gt; <br>Index: gst/pygstminiobject.c<br>===================================================================
<br>RCS file: /cvs/gstreamer/gst-python/gst/pygstminiobject.c,v<br>retrieving revision 1.16<br>diff -r1.16 pygstminiobject.c<br>22a23,24<br>&gt; #define NO_IMPORT_PYGOBJECT<br>&gt; <br>Index: gst/pygstminiobject.h<br>===================================================================
<br>RCS file: /cvs/gstreamer/gst-python/gst/pygstminiobject.h,v<br>retrieving revision 1.5<br>diff -r1.5 pygstminiobject.h<br>48c48<br>&lt; struct _PyGObject_Functions *_PyGObject_API;<br>---<br>&gt; extern struct _PyGObject_Functions *_PyGObject_API;
<br><br>It might be that this fixes bug 343980, since I had a the same crash at pyg_register_interface before having had a complete fix.<br><br>Ciao,<br><br>Gideon<br><br><br>