GNOME Bugzilla – Bug 57048
Undefined reference to `xmlXIncludeProcess'
Last modified: 2009-08-15 18:40:50 UTC
Following packages are installed on my system: libxml2-2.3.13-1.i386.rpm libxml2-devel-2.3.13-1.i386.rpm libxslt-0.13.0-1.i386.rpm libxslt-devel-0.13.0-1.i386.rpm Compilation of my code which was working OK with older versions of libxml2 and libxslt now produce folloing error message: /usr/lib/libxslt.a(documents.o): In function `xsltLoadDocument': documents.o(.text+0x1cc): undefined reference to `xmlXIncludeProcess' collect2: ld returned 1 exit status make: *** [fwbuilder] Error 1 All required libraries are present in linker command line.
This bug shows up only when static version of libraries is used (.a). When I link with dynamic libraries, it all links OK. However this is still bug, since it prevent us from linking with libxml2 and libxslt statically.
Seems you are linking with another version of the libxml2 static libs than the ones I provide: orchis:~/XML -> rpm -q libxml2-devel libxml2-devel-2.3.13-1 orchis:~/XML -> orchis:~/XML -> rpm -q libxml2-devel libxml2-devel-2.3.13-1 orchis:~/XML -> rpm -qf /usr/lib/libxml2.a libxml2-devel-2.3.13-1 orchis:~/XML -> nm /usr/lib/libxml2.a | grep xmlXIncludeProcess 00000e8c T xmlXIncludeProcess orchis:~/XML -> Double check that you don't have an older libxml static lib around orchis:~/XML -> rpm -qi libxml2-devel-2.3.13-1 Name : libxml2-devel Relocations: (not relocateable) Version : 2.3.13 Vendor: (none) Release : 1 Build Date: Thu 28 Jun 2001 06:10:00 PM CEST Install date: Fri 29 Jun 2001 08:06:02 AM CEST Build Host: daniel.veillard.com Group : Development/Libraries Source RPM: libxml2-2.3.13-1.src.rpmSize : 2383702 License: LGPL URL : http://xmlsoft.org/ Summary : Libraries, includes, etc. to develop XML and HTML applications Daniel
As you can see, I specify direct path to the library: -lXpm -rdynamic -L/usr/lib -L/usr/X11R6/lib -lgtkmm -lgdkmm -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lsigc -lpthread -L/usr/lib -lgthread -lglib -lpthread -rdynamic -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl -rdynamic -L/usr/lib -L/usr/X11R6/lib -lgtkxmhtml /usr/lib/libxml2.a -lz -lm /usr/lib/libxslt.a -L/usr/lib -lz -lm -lsnmp -lssl -lcrypto /usr/lib/libresolv.a PrintDialog.o: In function `PrintDialog::run(void)': /home/lord/src/fwbuilder/src/gui/PrintDialog.cc:279: the use of `tmpnam' is dangerous, better use `mkstemp' /usr/lib/libxslt.a(documents.o): In function `xsltLoadDocument': documents.o(.text+0x1cc): undefined reference to `xmlXIncludeProcess' collect2: ld returned 1 exit status make: *** [fwbuilder] Error 1 And yes, It does contain the symbol on my system as well: zembla /usr/lib> nm /usr/lib/libxml2.a | grep xmlXIncludeProcess 00000e8c T xmlXIncludeProcess Here is checksum of the library for your reference: zembla /usr/lib> sum /usr/lib/libxml2.a 48334 630 By the way, I have another libxml, which was shipped with Helix Gnome. According to RPM it does not conflict with libxml2. Maybe some include file from libxml1 get included which bears wrong method prototype? Many people have Helix Gnome, and they might have same problem. [root@zembla ~/ppp]# rpm -qa| grep libxml libxml-1.8.13-ximian.2 libxml2-devel-2.3.13-1 libxml2-2.3.13-1 libxml-devel-1.8.13-ximian.2
Ever wondered if -lxml2 -lxslt and -lxslt -lxml2 means the same thing for a linker ? Time to try. Answer is NO, Daniel
No answer so i assume that was the problem Daniel