El Viernes 21 Noviembre 2008, Ralph Rudd escribió:
> I am trying to run Gadget2 on a e1340 cluster, Linux kernel, ssh shell
> using OpenMPI and submitting the job via Loadleveler. I am linking to a
> local installation of GSL, which works during the compile stage and the
> "ldd Gadget2" command reveals that the Gadget2 executable sees the GSL
> library. Am also exporting the LD_LIBRARY_PATH variable with the correct
> library path in my .profile and again in the Loadleveler script. However
> when I succesfully submit the job, the error output log records the
> following error about 20 times:
>
> /Gadget2: error while loading shared libraries: libgsl.so.0: cannot open
> shared object file: No such file or directory
>
> I am completely stumped. Any help would be appreciated.
> Thanks in advance
> RR
Hi
You can try either to link statically (i.e. linking against libgsl.a) or
telling the execultable explicitly where to search for the .so file.
This is the -Wl,"-R /wherevergslis/lib" option that is included in the
Makefile. This is valid for the gnu and intel compilers by the way.
Also you can use LD_LIBRARY_PATH or LD_PRELOAD but you should
be sure that l the enviroment variables go to *all* the machines. Those
are normally defined in your .bashrc or .bash_profile or .profile.
The -Wl mechanism worked for me with Loadleveler.
Regards
---
Jaime D. Perea Duarte. <jaime at iaa dot es>
Linux registered user #10472
Dep. Astrofisica Extragalactica.
Instituto de Astrofisica de Andalucia (CSIC)
Apdo. 3004, 18080 Granada, Spain.
Received on 2008-11-21 17:00:07