Error: version mismatch in shared libraries

Dear all,

I am using ROOT 5.28.00 and am seeing an error that is seemingly related to the compilation of some shared libraries.

The error is below.

[atlprf01] Mon Jul 18 @ 03:15:19:  ~ > which root
alias root='root -l'
   /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.28.00a.Linux-slc5_amd64-gcc4.3/bin/root
[atlprf01] Mon Jul 18 @ 03:15:48:  cmt > make -f Makefile.Standalone
Compiling ../src/JESUncertaintyProvider.cxx
Compiling ../src/MultijetJESUncertaintyProvider.cxx
Running rootcint
Compiling ../StandAlone/JetUncertaintiesCint.cxx
Linking ../StandAlone/libJetUncertainties.so
[atlprf01] Mon Jul 18 @ 03:15:59:  cmt > cp ../StandAlone/libJetUncertainties.so ../../JetTrackROOTAnalysis/Utilities/JetUncertainties/
[atlprf01] Mon Jul 18 @ 03:16:14:  cmt > cp ../StandAlone/libJetUncertainties.so ../../JetTrackROOTAnalysis/SharedLib/libJetTrackAnalysis/Utilities/JetUncertainties/
:
:
[atlprf01] Mon Jul 18 @ 03:21:07:  JetTrackROOTAnalysis > root -b runProof.C
:
:
03:21:22   831 Wrk-0.1 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/JetUncertainties/libJetUncertainties.so = 52800, ROOT = 53000

Of course, this is for a shared library which is built and linked and then included in some other analysis code, but the same thing occurs for the analysis code itself.

03:21:23 16200 Wrk-0.34 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./MergedSubStrucTree_C.so = 52800, ROOT = 53000
03:21:23 16200 Wrk-0.34 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./JetTrackAnalysisBase_cxx.so = 52800, ROOT = 53000
03:21:23 16200 Wrk-0.34 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./JetTrackAnalysis_cxx.so = 52800, ROOT = 53000
03:21:23 31050 Wrk-0.23 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/JetUncertainties/libJetUncertainties.so = 52800, ROOT = 53000
03:21:23 31050 Wrk-0.23 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/libGoodRunsLists.so = 52800, ROOT = 53000 

I am at a loss as to what might be going on. I tried using a different ROOT installation, including switching to 5.30.00, but no dice so far.

Any help would be greatly appreciated! And as always, please let me know if more information would be helpful.

Regards,
David

Hi,

/atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/JetUncertainties/libJetUncertainties.so = 52800, ROOT = 53000This errors indicates that the ROOT library that are found (first) on the LD_LIBRARY_PATH are the one from the v5.30/00 release of ROOT while the object file part of the library libJetUncertainties.so have been build with the v5.28/00 release of ROOT. If your intend is to use v5.30, you need to recompile (from scratch) all your libraries against the new ROOT version.

Cheers,
Philippe.

Hi Philippe,

Thanks for the fast reply. I must say, though, that since I do everything in the same session (compiling the shared library, and then trying to run my analysis code) I don’t see how there can be a mis-match.

For example, here is a single session (now using 5.30), with no evidence that I can see of anything having to do with 5.28 until the error.

[atlprf01] Mon Jul 18 @ 17:10:32:  ~ > echo $LD_LIBRARY_PATH 
/afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib:/afs/slac.stanford.edu/g/atlas/packages/gcc432/gcc-alt-432/x86_64-slc5-gcc43-opt/lib64:/afs/slac.stanford.edu/g/atlas/packages/gcc432/gcc-alt-432/x86_64-slc5-gcc43-opt/lib:
[atlprf01] Mon Jul 18 @ 17:10:36:  ~ > cd JetUncertainties/cmt/
[atlprf01] Mon Jul 18 @ 17:11:08:  cmt > make -f Makefile.Standalone 
Compiling ../src/JESUncertaintyProvider.cxx
Compiling ../src/MultijetJESUncertaintyProvider.cxx
Running rootcint
Compiling ../StandAlone/JetUncertaintiesCint.cxx
Linking ../StandAlone/libJetUncertainties.so
[atlprf01] Mon Jul 18 @ 17:12:05:  cmt > cd ../../
[atlprf01] Mon Jul 18 @ 17:12:20:  ~ > cp JetUncertainties/StandAlone/libJetUncertainties.so JetTrackROOTAnalysis/Utilities/JetUncertainties/
[atlprf01] Mon Jul 18 @ 17:12:48:  ~ > cp JetUncertainties/StandAlone/libJetUncertainties.so JetTrackROOTAnalysis/SharedLib/libJetTrackAnalysis/Utilities/JetUncertainties/
[atlprf01] Mon Jul 18 @ 17:13:23:  ~ > cd JetTrackROOTAnalysis/SharedLib/
[atlprf01] Mon Jul 18 @ 17:13:58:  SharedLib > source makeJetTrackAnalysisLib.sh
[atlprf01] Mon Jul 18 @ 17:15:32:  SharedLib > cd ../
[atlprf01] Mon Jul 18 @ 17:15:42:  JetTrackROOTAnalysis > root -b runProof.C
:
17:16:05  1508 Mst-0 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./MergedSubStrucTree_C.so = 53000, ROOT = 52800
17:16:05  1508 Mst-0 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./JetTrackAnalysisBase_cxx.so = 53000, ROOT = 52800
17:16:05  1508 Mst-0 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./JetTrackAnalysis_cxx.so = 53000, ROOT = 52800
17:16:05  2846 Wrk-0.5 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/JetUncertainties/libJetUncertainties.so = 53000, ROOT = 52800
17:16:05  2846 Wrk-0.5 | Error in <TUnixSystem::Load>: version mismatch, /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/libGoodRunsLists.so = 53000, ROOT = 52800
:
[atlprf01] Mon Jul 18 @ 17:16:49:  JetTrackROOTAnalysis > which root
alias root='root -l'
	/afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/bin/root
:
[atlint02] Mon Jul 18 @ 17:01:53:  ~ > ldd /atlas/proof/fizisist/packages/libJetTrackAnalysis/./Utilities/JetUncertainties/libJetUncertainties.so
	linux-vdso.so.1 =>  (0x00007fff260eb000)
	libHist.so => /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib/libHist.so (0x00002b913afd3000)
	libMatrix.so => /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib/libMatrix.so (0x00002b913b672000)
	libstdc++.so.6 => /afs/slac.stanford.edu/g/atlas/packages/gcc432/gcc-alt-432/x86_64-slc5-gcc43-opt/lib64/libstdc++.so.6 (0x00002b913bad9000)
	libm.so.6 => /lib64/libm.so.6 (0x00002b913bdf6000)
	libgcc_s.so.1 => /afs/slac.stanford.edu/g/atlas/packages/gcc432/gcc-alt-432/x86_64-slc5-gcc43-opt/lib64/libgcc_s.so.1 (0x00002b913c07a000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b913c290000)
	libc.so.6 => /lib64/libc.so.6 (0x00002b913c4ab000)
	libMathCore.so => /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib/libMathCore.so (0x00002b913c804000)
	libCore.so => /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib/libCore.so (0x00002b913cc26000)
	libCint.so => /afs/slac.stanford.edu/g/atlas/packages/root/root_v5.30.00.Linux-slc5_amd64-gcc4.3/lib/libCint.so (0x00002b913d5e9000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002b913df84000)
	/lib64/ld-linux-x86-64.so.2 (0x00002b913ab93000)
	libz.so.1 => /usr/lib64/libz.so.1 (0x00002b913e188000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002b913e39d000)

Does this make sense to you?

Thanks again,
David

Hi again,

So thanks to Bart Butler, it turns out that some residual compilation issues spoiled all my fun. Doing

make -f Makefile.Standalone clean
make -f Makefile.Standalone

Seems to have fixed everything.

Thanks again!
David