Hi Christian, It seems that you compiled Root with the wrong options. The egcs compiler option -fno-rtti was probably missing. In our Makefile for Linux egcs, the CXXFLAGS parameter is CXXFLAGS = -Wall -fPIC -DR__GLIBC -fno-rtti -fno-exceptions Note that we support egcs1.1 in the binary distribution. Rene Brun 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 >
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET