LAM/MPI logo

LAM/MPI Development Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Didier Cabannes (didier_at_[hidden])
Date: 2005-11-03 18:17:58


Hi,

We have been reported the following issue with LAM 7.1.1 compiled with
Pathscale compilers:

----------
I'm having problems when trying to run mpi c++ programs with LAM
compiled with the PathScale compilers. I'm using LAM version 7.1.1
with PathScale EKOPath Compilers version 2.2.1.
I compiled LAM with the following flags:

FC=pathf95
F77=pathf95
CC=pathcc
CXX=pathCC

and ran LAM configure as follows:

./configure --prefix=$LAMHOME \
         --enable-shared \
         --with-modules

LAM compiled and linked without any issues. I tested running a simple
mpi c program (cpi.c) and a simple mpi fortran program within LAM
without any problems. But I got the following error when running a
simple mpi c++ program:

[najib_at_oregon ~]$ mpirun C ./hello
MPI_Comm_rank: invalid communicator: Invalid argument (rank 0,
MPI_COMM_WORLD)
MPI_Comm_rank: invalid communicator: Invalid argument (rank 1,
MPI_COMM_WORLD)
Rank (1, MPI_COMM_WORLD): Call stack within LAM:
Rank (1, MPI_COMM_WORLD): - MPI_Comm_rank()
Rank (1, MPI_COMM_WORLD): - main()
-----------

Actually we found that LAM/MPI 7.1.1 Configure script makes an
assumption about compiler outputs which is not true for Pathscale
compilers. Therefore generating an invalid configuration to create the
LAM C++ shared library.

Here is a simple patch to the LAM/MPI 7.1.1 Configure script which
solves the build issue when using the "--enable-shared --with-modules"
flags.

$ cat configure.patch
33503a33504
> psc_deps_depth=2
33552c33553,33557
< pre_test_object_deps_done=yes

---
>            if test "$CC" = "pathCC" -a $psc_deps_depth -eq 2 ; then
>                        psc_deps_depth=1
>                else
>                        pre_test_object_deps_done=yes
>                fi
To apply the patch, run the following command:
$ patch configure configure.patch
Hope this helps,
Didier