Hi Christian, just to follow-up on Rene's answer. It seems your Slackware system supports glibc (i.e. libc.so.6) and that you have egcs 1.1.1. In that case take the binary ROOT distribution for Linux glibc and egcs 1.1.1. It comes with a correct Makefile in $ROOTSYS/test/ that shows you which egcs compiler options to use (notably -fno-rtti -fno-exceptions). ldd on root and root.exe should only show: libm.so.6 => /lib/libm.so.6 (0x400dd000) libc.so.6 => /lib/libc.so.6 (0x400f6000) and not libc.so.5. When compiling the programs in $ROOTSYS/test it seems you use the wrong compiler that tries to use libc.so.5. Make sure your $PATH is set correctly to take the egcs 1.1.1 compiler. Cheers, Fons. Christian Nally wrote: > > Hi ROOTers, > > I recently compiled egcs1.1.1 on my (Slackware) Linux box and my root > won't execute because of errors on loading shared libraries. > > > pwd > /home/root/root_v2.21/root/bin > > ls > cint* h2root* root* rootcint* > g2root* makedepend@ root.exe* rootd* > > root > /home/root/rootsys/root/bin/root.exe: error in loading shared libraries > /home/root/rootsys/root/lib/libUnix.so: undefined symbol: > __vt_18TOrdCollectionIter > > now, ldd reports the following... > > > ldd root > libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4000b000) > libstdc++.so.2.9 => /usr/local/lib/libstdc++.so.2.9 (0x4009d000) > libm.so.5 => /lib/libm.so.5 (0x400e0000) > libc.so.5 => /lib/libc.so.5 (0x400e9000) > > ldd root.exe > libNew.so => /home/root/rootsys/root/lib/libNew.so (0x4000c000) > libBase.so => /home/root/rootsys/root/lib/libBase.so (0x4000f000) > libCint.so => /home/root/rootsys/root/lib/libCint.so (0x4011b000) > libClib.so => /home/root/rootsys/root/lib/libClib.so (0x402f0000) > libCont.so => /home/root/rootsys/root/lib/libCont.so (0x402fb000) > libFunc.so => /home/root/rootsys/root/lib/libFunc.so (0x40358000) > libGraf.so => /home/root/rootsys/root/lib/libGraf.so (0x40383000) > libGraf3d.so => /home/root/rootsys/root/lib/libGraf3d.so (0x404fe000) > libHist.so => /home/root/rootsys/root/lib/libHist.so (0x4058a000) > libHtml.so => /home/root/rootsys/root/lib/libHtml.so (0x40629000) > libMatrix.so => /home/root/rootsys/root/lib/libMatrix.so (0x40640000) > libMeta.so => /home/root/rootsys/root/lib/libMeta.so (0x40663000) > libMinuit.so => /home/root/rootsys/root/lib/libMinuit.so (0x406a1000) > libNet.so => /home/root/rootsys/root/lib/libNet.so (0x406fc000) > libPostscript.so => /home/root/rootsys/root/lib/libPostscript.so (0x40722000) > libProof.so => /home/root/rootsys/root/lib/libProof.so (0x4073e000) > libRint.so => /home/root/rootsys/root/lib/libRint.so (0x4075b000) > libTree.so => /home/root/rootsys/root/lib/libTree.so (0x40765000) > libUnix.so => /home/root/rootsys/root/lib/libUnix.so (0x407f1000) > libZip.so => /home/root/rootsys/root/lib/libZip.so (0x40804000) > libGpad.so => /home/root/rootsys/root/lib/libGpad.so (0x40860000) > libGui.so => /home/root/rootsys/root/lib/libGui.so (0x40909000) > libGX11.so => /home/root/rootsys/root/lib/libGX11.so (0x40a54000) > libX3d.so => /home/root/rootsys/root/lib/libX3d.so (0x40a98000) > libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40ab1000) > libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40ac0000) > libdl.so.2 => /lib/libdl.so.2 (0x40b52000) > libstdc++.so.2.9 => /usr/local/lib//libstdc++.so.2.9 (0x40b55000) > libm.so.6 => /lib/libm.so.6 (0x40b98000) > libc.so.6 => /lib/libc.so.6 (0x40bb1000) > libm.so.5 => /lib/libm.so.5 (0x40c56000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > > and interestingly there is an object in libCont.so DARN close to being the > one that it needs. > > Can anyone help me by saying why there is a "." instead of an "_" in the > library? Look at the last line below and compare it to the error I got > upon execution. > > > nm $ROOTSYS/lib/libCont.so | grep 18TOrdCollectionIter > 0001d31c T Class_Version__18TOrdCollectionIter > 0001d004 T Class__18TOrdCollectionIter > 0001d328 T DeclFileLine__18TOrdCollectionIter > 0001d33c T DeclFileName__18TOrdCollectionIter > 0001cf98 T Dictionary__18TOrdCollectionIter > 0001d35c T GetCollection__C18TOrdCollectionIter > 0001d05c T ImplFileLine__18TOrdCollectionIter > 0001d03c T ImplFileName__18TOrdCollectionIter > 0001d2f4 T IsA__C18TOrdCollectionIter > 0001d0c8 T Next__18TOrdCollectionIter > 0001d1a4 T Reset__18TOrdCollectionIter > 00051d14 T ShowMembers__18TOrdCollectionIterR16TMemberInspectorPc > 00051ce4 T Streamer__18TOrdCollectionIterR7TBuffer > 0001d374 T _._18TOrdCollectionIter > 0005a084 D _18TOrdCollectionIter.fgIsA > 0001d3b0 T __18TOrdCollectionIter > 0001d070 T __18TOrdCollectionIterPC14TOrdCollectionUc > 00051ca0 T __rs__FR7TBufferRP18TOrdCollectionIter > 0005a0a0 D _vt.18TOrdCollectionIter > > when I try to make the tests I get... > > root@bcterm:6 >pwd > /home/root/root_v2.21/root/test > root@bcterm:7 >make > g++ -shared -g Event.o EventDict.o -o libEvent.so > g++ -g MainEvent.o Event.o EventDict.o -L/home/root/rootsys/root/lib -lNew > -lBase -lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix > -lMeta -lMinuit -lNet -lPostscript -lProof -lTree -lUnix -lZip -lm -ldl > -rdynamic -o Event > /usr/bin/ld: warning: libm.so.6, needed by > /home/root/rootsys/root/lib/libClib.so, may conflict with libm.so.5 > /usr/bin/ld: warning: libc.so.6, needed by > /home/root/rootsys/root/lib/libClib.so, may conflict with libc.so.5 > /home/root/rootsys/root/lib/libUnix.so: undefined reference to > `TOrdCollectionIter virtual table' > /home/root/rootsys/root/lib/libUnix.so: undefined reference to `TTime > virtual table' > /home/root/rootsys/root/lib/libUnix.so: undefined reference to > `TInetAddress virtual table' > /home/root/rootsys/root/lib/libUnix.so: undefined reference to `TIterator > virtual table' > /home/root/rootsys/root/lib/libUnix.so: undefined reference to `TString > virtual table' > /home/root/rootsys/root/lib/libUnix.so: undefined reference to `TSystem > virtual table' > collect2: ld returned 1 exit status > make: *** [Event] Error 1 > root@bcterm:8 > -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland Phone: +41 22 7679248 E-Mail: Fons.Rademakers@cern.ch Fax: +41 22 7677910
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET