I’m getting the following error trying to run rootcint:
/usr/local/root/bin/rootcint: error while loading shared libraries: libCint.so.5.06: cannot open shared object file: No such file or directory
make[1]: *** [out/root_dict.cpp] Error 127
The full command I’m using is:
/usr/local/root/bin/rootcint -v -f out/root_dict.cpp -c -p -I…/common/include -Iinclude -I. -D_OAWG -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__extension__="" -D__attribute__\(X\)="" -D__const=const -D__restrict="" -D__signed=signed -D__volatile=volatile -D__BEGIN_DECLS= -D__END_DECLS= -D__THROW= include/VAArrayInfo.h include/VAConfigurationData.h include/VACoordinateData.h include/VADataClasses.h include/VAParameterData.h include/VAPixelStatusData.h include/VAQStatsData.h include/VARelGainData.h include/VARootIO.h include/VARunHeader.h include/VAShowerData.h include/VASimulationDataClasses.h include/VATelescopeData.h include/VATime.h include/VATOffsetData.h include/LinkDef.h
YES, I have $ROOTSYS/lib exported to my LD_LIBRARY_PATH.
Any ideas what is wrong?
pcanal
January 9, 2006, 6:54pm
2
Did you check that there is a file named /usr/local/root/lib/libCint.so.5.06?
If there isn’t then you install is not properly done.
Philippe
Yes, the file exists and is non-empty.
pcanal
January 9, 2006, 7:00pm
4
What about permission? Do you user have read and execute permission to this file?
Philippe
Yes, permissions are okay. In fact I’m trying this as su.
pcanal
January 9, 2006, 7:13pm
6
What does ldd rootcint or ldd /usr/local/root/bin/rootcint say?
Philippe
ldd /usr/local/root/bin/rootcint
libCint.so.5.06 => /usr/local/root/lib/libCint.so.5.06 (0x00002aaaaaaad000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
Note: I have a link /usr/local/root/lib/libCint.so.5.06 -> /usr/local/root/lib/root/libCint.so.5.06
pcanal
January 9, 2006, 7:27pm
8
[quote]Note: I have a link /usr/local/root/lib/libCint.so.5.06 -> /usr/local/root/lib/root/libCint.so.5.06[/quote]This sounds like a problem! It looks like the soft link is pointing to itself (and not to a real file!.
Philippe.
Look again… the link is:
/usr/local/root/lib/libCint.so.5.06
which points to the file:
/usr/local/root/lib/root/libCint.so.5.06
(The link and file ARE different!!)
by the way, the permissions for the link are fine as well (in case you were going to ask that )
pcanal
January 9, 2006, 7:58pm
10
ok. gladfully I am wrong
Nonetheless there is an issue.
The runtime linked is apparently unable to load the library. It does find (per ldd) /usr/local/root/lib/libCint.so.5.06. However it seems unable to load it
per " libCint.so.5.06: cannot open shared object file: No such file or directory "
Now the only reason I know where this could happen are
the file ultimately pointed to (after resolving all links)
is not a proper shared library
is not readable/executable by the user
Is root.exe itself starting?
Philippe.
I know, this is a very strange error. The library file is readable/executable, and should be a proper library as I believe it was created when root was compiled
Yes, root.exe runs, but ldd reveals that it does not use libCint.so .*
Thanks for your quick replies. If I’ve exhausted your ideas, thanks for trying
pcanal
January 9, 2006, 9:00pm
12
Well that an important clue. What does it use? Ultimatily the file root.exe use and the file rootcint uses should be the same!
Philippe.
ldd /usr/local/root/bin/root
libXpm.so.4 => /usr/X11R6/lib64/libXpm.so.4 (0x0000003f69400000)
libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000003f68600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
libXext.so.6 => /usr/X11R6/lib64/libXext.so.6 (0x0000003f68a00000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
pcanal
January 9, 2006, 9:05pm
14
humm. I did mean ‘root.exe’ not ‘root’ ‘root’ is a smaller wrapper around root.exe (the real ROOT executable).
Cheers,
Philippe.
Sorry!
I have removed the link in /usr/local/root/lib, so now I have:
ldd /usr/local/root/bin/root.exe
libCore.so => /usr/local/root/lib/libCore.so (0x00002aaaaaaad000)
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaab4a7000)
libHist.so.5.06 => /usr/local/root/lib/libHist.so.5.06 (0x00002aaaab8b4000)
libGraf.so.5.06 => /usr/local/root/lib/libGraf.so.5.06 (0x00002aaaabcae000)
libGraf3d.so.5.06 => /usr/local/root/lib/libGraf3d.so.5.06 (0x00002aaaac067000)
libGpad.so.5.06 => /usr/local/root/lib/libGpad.so.5.06 (0x00002aaaac27b000)
libTree.so.5.06 => /usr/local/root/lib/libTree.so.5.06 (0x00002aaaac49f000)
libMatrix.so.5.06 => /usr/local/root/lib/libMatrix.so.5.06 (0x00002aaaac7a3000)
libRint.so.5.06 => /usr/local/root/lib/libRint.so.5.06 (0x00002aaaacad5000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f68800000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003f6f000000)
libCore.so.5.06 => /usr/local/root/lib/libCore.so.5.06 (0x00002aaaacc39000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
and
ldd /usr/local/root/bin/root.exe
libCore.so => /usr/local/root/lib/libCore.so (0x00002aaaaaaad000)
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaab4a7000)
libHist.so.5.06 => /usr/local/root/lib/libHist.so.5.06 (0x00002aaaab8b4000)
libGraf.so.5.06 => /usr/local/root/lib/libGraf.so.5.06 (0x00002aaaabcae000)
libGraf3d.so.5.06 => /usr/local/root/lib/libGraf3d.so.5.06 (0x00002aaaac067000)
libGpad.so.5.06 => /usr/local/root/lib/libGpad.so.5.06 (0x00002aaaac27b000)
libTree.so.5.06 => /usr/local/root/lib/libTree.so.5.06 (0x00002aaaac49f000)
libMatrix.so.5.06 => /usr/local/root/lib/libMatrix.so.5.06 (0x00002aaaac7a3000)
libRint.so.5.06 => /usr/local/root/lib/libRint.so.5.06 (0x00002aaaacad5000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f68800000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003f6f000000)
libCore.so.5.06 => /usr/local/root/lib/libCore.so.5.06 (0x00002aaaacc39000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
[dsteele@castor sp24]$ ldd /usr/local/root/bin/rootcint
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaaaaad000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
i.e. looks like they are using the same libraries. root.exe starts up fine, but quits with a seg fault.
I did a make distclean and am currently recompiling in case there was a problem with libCint.so.5.06
Oops, here is the ldd for rootcint
ldd /usr/local/root/bin/rootcint
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaaaaad000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f68200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003f6a400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f68000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f6a200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f67d00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f67b00000)
pcanal
January 9, 2006, 9:17pm
17
Ok.
So we have:
[quote]
ldd /usr/local/root/bin/rootcint
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaaaaad000)
[/quote]and
[quote]ldd /usr/local/root/bin/root.exe
libCore.so => /usr/local/root/lib/libCore.so (0x00002aaaaaaad000)
libCint.so.5.06 => /usr/local/root/lib/root/libCint.so.5.06 (0x00002aaaab4a7000)
[/quote]AND we have root.exe starting BUT rootcint not starting?
I do not really know why/how this could happen
Philippe.
I don’t know exactly what the (0x00002aaaaaaad000) means, but it looks like some sort of address. Is it a problem that for rootcint libCint.so.5.06 points to the same place as libCore.so does for root.exe?
pcanal
January 9, 2006, 9:31pm
19
[quote]I don’t know exactly what the (0x00002aaaaaaad000) means, but it looks like some sort of address. Is it a problem that for rootcint libCint.so.5.06 points to the same place as libCore.so does for root.exe?[/quote]No it is not a problem.
Philippe.
Note: rootcint will start, i.e. I can run rootcint -h and I get the help message. It is only when I try to actually use it (as in the command in my first post) that I get the shared object file error. I suspect the same might be true of root.exe.