dlopen error [message #12949] |
Mon, 23 January 2012 08:09 |
|
Hi.
Now I installed pandaroot version whatever given by you still I am getting that dlopen error:-
dlopen error: libPythia6.so: cannot open shared object file: No such file or directory
Load Error: Failed to load Dynamic link library /home/physiclab4/fairsoft2/tools/root/lib/libEGPythia6.so
then i have added the following line
gSystem->Load("/home/physiclab4/fairsoft2/generator/lib/libPythia6.so") in the file run_sim_tpccombi.C
then that above error is not there. But I am getting the following error-
Processing run_sim_tpccombi.C...
Error: Symbol FairRunSim is not defined in current scope run_sim_tpccombi.C:14:
Error: Symbol FairRunSim is not defined in current scope run_sim_tpccombi.C:14:
Error: type FairRunSim not defined FILE:/home/physiclab4/pandaroot3/tutorials/charmonium/jul10/./run_sim_tp ccombi.C LINE:14
Warning: Automatic variable FairRunSim*fRun is allocated run_sim_tpccombi.C:14:
Error: Undeclared variable FairRunSim*fRun run_sim_tpccombi.C:14:
So where is the problem?
AJAY KUMAR
Research scholar
Indian Institute of Technology Indore,Indore
Madhya Pradesh
India
|
|
|
Re: dlopen error [message #12950 is a reply to message #12949] |
Mon, 23 January 2012 08:13 |
Ralf Kliemt
Messages: 507 Registered: May 2007 Location: GSI, Darmstadt
|
first-grade participant |
From: *pool.mediaWays.net
|
|
Hello.
Just to make sure: Did you load the config.sh?
[yourpandabuilddir]>. config.sh
It contains the library paths to your pandaroot installation.
Cheers
Ralf
[Updated on: Mon, 23 January 2012 08:13] Report message to a moderator
|
|
|
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
|
|
|