mpi アプリケーションでエラーを検出するために valgrind を実行すると、次のエラーが発生します。
libmpi.so.0: cannot open shared object file: No such file or directory
Valgrindの ドキュメント(セクション 4.9.1) には、「ラップされる MPI 関数は、libmpi.so* と一致する soname を持つ ELF 共有オブジェクトにあると想定されています。これは、少なくとも Open では正しいことが知られています。 MPI と Quadrics MPI であり、必要に応じて簡単に変更できます。」
したがって、mpich2 を使用しているため、実際には libmpich.so.1.0 を使用する必要があります。
これは、libmpiwrap.c で確認できます。
#include "mpi.h"
/* Where are API symbols?
Open MPI lib/libmpi.so, soname = libmpi.so.0
Quadrics MPI lib/libmpi.so, soname = libmpi.so.0
MPICH libmpich.so.1.0, soname = libmpich.so.1.0
A suitable soname to match with is therefore "libmpi*.so*".
私の質問は次のとおりです。これをどこでどのように構成しますか?