[gstreamer-bugs] [Bug 350637] GStreamer won't build if libxml2 is not on the same dirs as other dependencies

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Aug 10 10:13:26 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=350637
 GStreamer | gstreamer (core) | Ver: HEAD CVS





------- Comment #2 from Felipe Contreras  2006-08-10 17:13 UTC -------
(In reply to comment #1)
>  * Which symbols exactly?

xmlOutputBufferCreateFile
xmlTextReaderGetAttribute
xmlNewDocNode
xmlReaderForFd
xmlNewDoc
xmlGenericError
xmlNewChild
xmlDocGetRootElement
xmlNodeGetContent
xmlFindCharEncodingHandler
xmlParseMemory
xmlParseFile
xmlTextReaderConstName
xmlTextReaderConstValue
xmlParseCharEncoding
xmlFreeTextReader
xmlTextReaderValue
xmlReaderForMemory
xmlTextReaderNodeType
xmlGenericErrorContext
xmlNewNs
xmlTextReaderRead
xmlIndentTreeOutput
xmlSaveFormatFileTo
xmlSearchNsByHref
xmlFree
xmlTextReaderDepth

>  * When compiling which tool?

First, 'gst-xmllaunch-0.10', then when fixing manually one by one all of the
tools fail with the same error.

>  * What's the last gcc line and all the output after that?

/bin/sh ../libtool --tag=CC --mode=link arm-linux-gcc
-I$TARGET/include/glib-2.0 -I$TARGET/lib/glib-2.0/include   -g -O2   -o
gst-xmllaunch-0.10 ../gst/libgstreamer-0.10.la -pthread -Wl,--export-dynamic
-L$TARGET/lib -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -ldl -lglib-2.0    
gst_xmllaunch_0.10-gst-launch.o -L$TARGET/lib -lglib-2.0   
arm-linux-gcc -I$TARGET/include/glib-2.0 -I$TARGET/lib/glib-2.0/include -g -O2
-o .libs/gst-xmllaunch-0.10 -pthread -Wl,--export-dynamic
gst_xmllaunch_0.10-gst-launch.o  ../gst/.libs/libgstreamer-0.10.so
-L$TARGET/lib $TARGET/lib/libgobject-2.0.so $TARGET/lib/libgthread-2.0.so
$TARGET/lib/libgmodule-2.0.so -ldl $TARGET/lib/libglib-2.0.so -Wl,--rpath
-Wl,$TARGET/opt/gstmmf-felipec/lib -Wl,--rpath -Wl,$TARGET/lib
$ARM_TOOLS/bin/ld: warning: libxml2.so.2, needed by
../gst/.libs/libgstreamer-0.10.so, not found (try using -rpath or -rpath-link)
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlOutputBufferCreateFile'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlTextReaderGetAttribute'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlNewDocNode'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlReaderForFd'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlNewDoc'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlGenericError'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlNewChild'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlDocGetRootElement'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlNodeGetContent'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlFindCharEncodingHandler'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlParseMemory'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlParseFile'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlTextReaderConstName'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlTextReaderConstValue'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlParseCharEncoding'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlFreeTextReader'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlTextReaderValue'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlReaderForMemory'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlTextReaderNodeType'
../gst/.libs/libgstreamer-0.10.so: undefined reference to
`xmlGenericErrorContext'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlNewNs'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlTextReaderRead'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlIndentTreeOutput'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlSaveFormatFileTo'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlSearchNsByHref'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlFree'
../gst/.libs/libgstreamer-0.10.so: undefined reference to `xmlTextReaderDepth'
collect2: ld returned 1 exit status
make[2]: *** [gst-xmllaunch-0.10] Error 1
make[2]: Leaving directory `/home/$USER/src/gstreamer-0.10.9/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/$USER/src/gstreamer-0.10.9'
make: *** [all] Error 2 

> Did you see the comment in configure.ac above the GST_ALL_LIBS line?

No, I didn't. Now I have. This is what it says:
 LIBS: XML doesn't need to be added because we don't explicitly use symbols
from LibXML except for in the core library

>From what I understand it doesn't matter if we use the symbols explicitly or
not, you won't be able to link to a library if there are unresolved symbols.

I checked the code and this is what I found:

In the tools directory all of the binaries have the following:
_LDFLAGS = $(GST_OBJ_LIBS)

* Note: maybe _LDADD is more appropriate, according to:
http://www.gnu.org/software/automake/manual/html_node/Linking.html#Linking

GST_OBJ_LIBS doesn't have XML_LIBS or any -L flag that might help to find the
'libxml2.so.2' needed by 'libgstreamer-0.10.so'.

In fact the same happens with the the binaries under 'tests', there is no
XML_LIBS and I get exactly the same results.

Now, 'libgstcoreindexers' does have XML_LIBS in it's _LIBADD, but no other
library has it, except 'libgstreamer'. Also it might be relevant that
'libgstcoreindexers' has only a static version (I guess that's how you would
call a .a that doesn't have a .so). So my best guess is that libtool somehow
can find where is 'libxml2.so' from 'libgstreamer-0.10.la' and do all the magic
for shared objects.


-- 
Configure bugmail: http://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