Re: dlopen error [message #12951 is a reply to message #12949] |
Mon, 23 January 2012 09:40 |
Florian Uhlig
Messages: 424 Registered: May 2007
|
first-grade participant |
From: *pools.arcor-ip.net
|
|
Hi,
you probably have already checked if the Pythia library exist. If libPythia6.so is where you expect the library to be, please check if libEGPythia6.so expect the library at that location. This can be done on Linux using ldd
ldd /home/physiclab4/fairsoft2/tools/root/lib/libEGPythia6.so
on Mac OS us otool
otool -L /home/physiclab4/fairsoft2/tools/root/lib/libEGPythia6.so
The output looks like
linux-vdso.so.1 => (0x00007fff3d3ff000)
libPythia6.so => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f884d032000)
libm.so.6 => /lib/libm.so.6 (0x00007f884cdaf000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f884cb99000)
libc.so.6 => /lib/libc.so.6 (0x00007f884c838000)
/lib64/ld-linux-x86-64.so.2 (0x00007f884d598000)
You can get from this some info. First of all there are fixed libraries, e.g. the c library libc.so.6 which are expected at a defined location here in /lib and there are
libraries as libPythia6.so which are not expected at a defined location. In our example libPythia6.so isn't found because I did not set the LD_LIBRAY_PATH. If I add the directory where the libPythia6.so is located to the LD_LIBRAY_PATH I get the following output as result of ldd
linux-vdso.so.1 => (0x00007fff09dff000)
libPythia6.so => /data.local1/fairsoft/fairsoft_may11/generators/lib/libPythia6.so (0x00007fe69cd7a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fe69ca4d000)
libm.so.6 => /lib/libm.so.6 (0x00007fe69c7ca000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fe69c5b4000)
libc.so.6 => /lib/libc.so.6 (0x00007fe69c253000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007fe69bf66000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe69d684000)
Now the dynamic linker can find the library. Please check where the dynamic linker expect your libPythia6.so. I can imagine two problems. Either the directory where your libPythia6.so can be found isn't in the LD_LIBRARY_PATH, or you have a fixed location where to look for the library which is wrong.
Hope this helps to find the problem.
Ciao
Florian
|
|
|