|
From: Martin K. <m.k...@gm...> - 2012-05-05 12:25:52
|
Hello, I'm trying to use valgrind do debug an mpich2 program. Unfortunately, I get the following error: libmpi.so.0: cannot open shared object file: No such file or directory I found out that libmpich.so.1.0 should be linked to instead (see libmpiwrap.c). Valgrind documation states that "The MPI functions to be wrapped are assumed to be in an ELF shared object with soname matching libmpi.so*. This is known to be correct at least for Open MPI and Quadrics MPI, and can easily be changed if required." How do I change that? Thanks for your help! Martin Kalany -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a |
|
From: Philippe W. <phi...@sk...> - 2012-05-05 16:14:44
|
On Sat, 2012-05-05 at 14:25 +0200, Martin Kalany wrote:
> Hello,
>
> I'm trying to use valgrind do debug an mpich2 program. Unfortunately, I get the following error:
>
> libmpi.so.0: cannot open shared object file: No such file or directory
>
> I found out that libmpich.so.1.0 should be linked to instead (see libmpiwrap.c). Valgrind documation states that "The MPI functions to be wrapped are assumed to be in an ELF shared object with soname matching libmpi.so*. This is known to be correct at least for Open MPI and Quadrics MPI, and can easily be changed if required."
>
> How do I change that?
Is the 'cannot open' error only there when running under Valgrind ?
The Z encoding used in libmpiwrap.c is a pattern which matches
one or the other library:
#define I_WRAP_FNNAME_U(_name) \
I_WRAP_SONAME_FNNAME_ZU(libmpiZaZdsoZa,_name)
i.e. it is libmpi*.so*.
So, I guess your problem is not the Valgrind wrapping.
Maybe a problem related to the dynamic loader ?
Philippe
|