"symbol lookup error" when running root 5.20

i just installed root 5.20, using method 2, installing it in /usr/local. i’ve had success before, but now when i try to run root, i get

[quote]
/usr/local/bin/root.exe: symbol lookup error: /usr/local/bin/root.exe: undefined symbol: _ZN13TVersionCheckC1Ei[/quote]

I’m on unbuntu hardy, and i have the latest gcc and g++.

thanks,

Michael.

I am afraid that we need more details.
-Did you check the consistency between PATH and LD_LIBRARY_PATH?
-When installing from source, did you check any possible problem?

  • Do you see the *.so files in the lib directory?

Rene

i did not see any errors when compiling, and the *.so files are in the lib directory. i’m not sure how to check the PATH and LD_LIBRARY_PATH consistency. perhaps that would fix it if i knew how. thanks,

michael

Hi,

You need to print both variable: echo $PATH echo $LD_LIBRARY_PATH and check carefully that there is only one ROOT installation directory listed in each of them and that it is the same directory. Also check that echo $ROOTSYS points to this same directory.

Cheers,
Philippe.

the only thing that produces anything is the PATH, which is

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

where i assume /usr/local/bin is the ROOT directory, since ROOT was installed there. but for some reason none of the paths are there, which i thought ./configure --prefix=/usr/local was supposed to do for you. when i export the correct paths, and try to rerun, i get

[quote]/usr/local/bin/root.exe: error while loading shared libraries: libCore.so.5.20: cannot open shared object file: No such file or directory
[/quote]

i looked and that file is there. i don’t know what’s going on here, i’ve installed it just fine before like the instructions say and i’ve never had this problem with 5.18.

Hi,

if you install using --prefix=/usr/local

then you must make sure that /usr/local/lib is in you ld.so.conf path. If not add it and run ldconfig. Also if it already is, you need to rerun ldconfig after ROOT is installed (to refresh the ld cache).

You can also set LD_LIBRARY_PATH=/usr/local/lib/root but that defies the idea of installing in /usr/local.

Cheers, Fons.

thanks, ldconfig did the trick!