No symbols found in libraries after compilation

Hi,

After compiling root with no errors the output of ldd seems correct:

ldd /usr/local/root_v5.22/lib/libHist.so
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00111000)
libm.so.6 => /lib/tls/libm.so.6 (0x00e8b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00ddc000)
libc.so.6 => /lib/tls/libc.so.6 (0x0081f000)
/lib/ld-linux.so.2 (0x00393000)

But running ldd -d on any of the compiled .so object produces and endless list of entries like:

undefined symbol: _ZTV11TCollection (/usr/local/root_v5.22/lib/libHist.so)
undefined symbol: _ZTV7TString (/usr/local/root_v5.22/lib/libHist.so)
undefined symbol: gSystem (/usr/local/root_v5.22/lib/libHist.so)
undefined symbol: _ZTI5TList (/usr/local/root_v5.22/lib/libHist.so)

Any ideas of what might be causing this?

Thanks.

Hi Gustavo,

What is the original problem?

The ROOT libraries (unless you specify the configure option --enable-explicitlink) are not linked with their dependencies. In particular the symbol you are listing are implemented in libCore. If you need libHist, you also need to link with libCore and libCint. Not that root-config --libs gives you a ROOT version independent way to get a good starter list of libraries.

Cheers,
Philippe.