Missing libXMLParser.so

Hello,

I have root version 5.27.02 installed. Here, is the configuration (root-config --config) which I had when compiling it:

linux --prefix=/usr/local --enable-minuit2 --enable-glite --enable-dcache --enable-memstat --enable-xml --enable-xrootd --enable-tmva --enable-reflex --enable-castor

But I don’t have the libXMLParser.so - library even though I have xml enabled. Could anybody tell me what I am missing? Here is the info about my (kubuntu) system:

2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux

Many thanks in advance for any help.

Best regards,
Gia

Did you try running the xml examples in the folder

{rootSOURCE}/tutorials/xml ???

Cristian

[quote=“cmosquer”]Did you try running the xml examples in the folder

{rootSOURCE}/tutorials/xml ???

Cristian[/quote]

Hi Cristian,

thanks for your reply. I try to compile an application against ROOT, which has a dependence on libXMLParser.so. This lib is presented in other ROOT installations, for instance, on the lxplus cluster at CERN. But I don’t have it in my ROOT installation and I don’t understand why.

I’ve just tried to run the examples you have pointed me. The xmlnewfile.C and xmlreadfile.C runs fine. I see that they have a dependence on libXMLIO.so, which is not missing. However, I am not able to run other example macros. Here is what I am doing:

root -l
root [0] .L DOMParsePerson.C++

and the error message (only few first lines) looks like this:

Info in TUnixSystem::ACLiC: creating shared library /home/gia/test/./DOMParsePerson_C.so
Error in : Person inherits from TObject but does not have its own ClassDef
In file included from /home/gia/test/DOMParsePerson_C_ACLiC_dict.h:33,
from /home/gia/test/DOMParsePerson_C_ACLiC_dict.cxx:16:
/home/gia/test/./DOMParsePerson.C: In member function ‘Person* PersonList::ParsePerson(TXMLNode*, Int_t)’:
/home/gia/test/./DOMParsePerson.C:182: warning: ‘date’ may be used uninitialized in this function
/home/gia/test/./DOMParsePerson.C:183: warning: ‘address’ may be used uninitialized in this function
dlopen error: /home/gia/test/./DOMParsePerson_C.so: undefined symbol: _ZN8TXMLNode11GetChildrenEv
Load Error: Failed to load Dynamic link library /home/gia/test/./DOMParsePerson_C.so
/usr/lib/gcc/i486-linux-gnu/4.4.1/…/…/…/…/lib/crt1.o: In function _start': /build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:115: undefined reference tomain’
/home/gia/test/DOMParsePerson_C_ACLiC_dict.o: In function PersonList::ParseFile(TString)': DOMParsePerson_C_ACLiC_dict.cxx:(.text._ZN10PersonList9ParseFileE7TString[PersonList::ParseFile(TString)]+0x28): undefined reference toTDOMParser::TDOMParser()‘
DOMParsePerson_C_ACLiC_dict.cxx:(.text._ZN10PersonList9ParseFileE7TString[PersonList::ParseFile(TString)]+0x85): undefined reference to TXMLParser::GetParseCodeMessage(int) const' DOMParsePerson_C_ACLiC_dict.cxx:(.text._ZN10PersonList9ParseFileE7TString[PersonList::ParseFile(TString)]+0xcc): undefined reference toTXMLDocument::GetRootNode() const’

Where, _ZN8TXMLNode11GetChildrenEv --> TXMLNode::GetChildren()

The same kind of error occurs for another macro, DOMRecursive.C. Any ideas how this could be solved? Thanks much in advance.

Cheers, Gia

Hi,

you need to have libxml2 installed before configuring ROOT. configure told you (e.g. at the end) that it did not enable xml because it didn’t find the prerequisite library.

Cheers, Axel.

[quote=“Axel”]Hi,

you need to have libxml2 installed before configuring ROOT. configure told you (e.g. at the end) that it did not enable xml because it didn’t find the prerequisite library.

Cheers, Axel.[/quote]

Hello Axel,

thanks a lot for the help. The problem is solved now. I had the libxml2 library installed but configuration for xml was failing anyway. It seems one needs to have libxml source package also installed. After I installed libxml++*-dev I was able to compile ROOT xml.

Cheers, Gia

Hi Gia,

xyz-dev is not the source package. It contains (usually, at least) the header files for xyz.

Cheers, Axel.

[quote=“Axel”]Hi Gia,

xyz-dev is not the source package. It contains (usually, at least) the header files for xyz.

Cheers, Axel.[/quote]

Hi Axel,

sure :slight_smile: I meant a source for headers.

Cheers, Gia