Linking standalone program to use ROOT in GRID

I need to use a standalone program that is linked to ROOT libraries, in LCG environment. In the worker node I setup root using the AFS installation, and ROOT works well.

All is also ok if I compile the program in a SL installation using the same AFS path for ROOT. But if I use a local compiled version the problem is that g++ searchs libCore.so.5.16.0, same suffix for all the libraries. So also if I do the the setup of the correct ROOT version in AFS the program will not be able to resolve the dependence by the libCore.so.5.16.0, while in the LD_LIBRARY_PATH has the libCore.so relative to the same version.

The question: is it possible link an executable to the generic libCore.so instead libCore.so.5.16.0? Is the problem in the method that I used to install the ROOT version or in some g++ flag that I’m not using?

Hi,

if your program is originally linked against a version of the libs containing version numbers, you need to compile your local version also using version numbers, and of course, the version needs to be the same. To compile using version numbers do:

./configure --enable-soversion

Cheers, Fons.

Many thanks, for some reason the more recente version on my pc was not compiled with soverson, but probably I had also some other problems, probably due to some things that I’m not understing of GRID :slight_smile:

Thanks