error loading shared libs: Linux, egcs1.1.1

From: Christian Nally (nally@surf.sno.laurentian.ca)
Date: Thu Jan 21 1999 - 03:03:29 MET


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