Hi Salvatore, Maybe the linker is correct: (my_directory)libObjsForRoot.so: undefined symbol: (d's constructor) And your forgot to implement the constructor for the class d (or maybe you forgot to generate the dictionary). Could be as simple as doing: KCC -O (lots of options for KAI in linux) a.o b.o c.o d.o libMyObjs.so -o libObjsForRoot.so Cheers, Philippe. -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch] On Behalf Of Salvatore Rappoccio Sent: Wednesday, September 29, 2004 6:18 PM To: roottalk@pcroot.cern.ch Subject: [ROOT] Linking external libraries Hi, I have a problem linking an external library in CINT. I compile several object files a.o b.o c.o a.o depends on a class defined in a shared library libMyObjs.so (let's say class d is in libMyObjs.so). I now want to make a shared library to load into ROOT of a,b, and c via: KCC -O (lots of options for KAI in linux) a.o b.o c.o libMyObjs.so -o libObjsForRoot.so When I do this in CINT, I get: /cdf/software/products/root/v3_05_07cKCC_4_0/Linux+2.4/bin/root.exe: relocation error: (my_directory)libObjsForRoot.so: undefined symbol: (d's constructor) I have loaded both libMyObjs.so and libObjsForRoot.so in the root session via gSystem->Load("libMyObjs.so") and ("libObjsForRoot.so"), in that order. Any ideas as to how to get this to work? Thanks, Sal Rappoccio
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET