[Pkg-scicomp-devel] Bug#552429: [balaji at mcs.anl.gov: Re: Bug#552429: [Pkg-openmpi-maintainers] Bug#552429: MPI: fix alternatives mess with runtime environment]

Lucas Nussbaum lucas at lucas-nussbaum.net
Wed Nov 11 08:23:23 UTC 2009

----- Forwarded message from Pavan Balaji <balaji at mcs.anl.gov> -----

On 11/10/2009 02:40 PM, Manuel Prinz wrote:
> This does not reflect the fact that LAM and MPICH should go in the long
> run. I propose to change the priorities to:
> Open MPI: 20
> MPICH2:   15
> MPICH:     5
> LAM MPI:   5

MPICH2 and Open MPI should have the same priority, isn't it? They are
just alternative implementations of MPI.

> 2. libmpi.so (and others):
> Some of the packages (MPICH2, Open MPI, LAM MPI) set libmpi.so via
> alternatives. This is very troublesome, as it is not ABI compatible
> between the implementations. I have not yet checked if packages are
> linked to libmpi.so directly, but if so, they will break as soon as the
> alternatives are switched. MPICH only manages the static libraries with
> alternatives which seems to be OK. (Though not really recommended,
> IMHO.) We should think about dropping this alternative or finding a
> solution. The compiler wrappers should be OK finding the libraries
> under /usr/lib/$pkg/. Alternatively, each package could provide a "lib
> $pkg.so" instead and drop libmpi.so from alternatives. One other option
> I can think of is to provide libmpi.so via mpi-defaults, so it can't be
> changed. All other mpi compilers should be able to work. (Have to test
> that.) Otherwise changing the compilation environment could crash
> applications since libmpi.so is moved to something they were not build
> against. Opinions?

MPICH2 creates libmpich.so, not libmpi.so

>> I think that it makes more sense to have mpirun and mpiexec be linked
>> together (the mpich/lam solution).
> Dito. As far as Open MPI is concerned, mpirun and mpiexec are the same
> tool (opal_wrapper). I propose that every package should provide
> mpi{run,exec}.$pkg and manage it via the "mpirun" master alternative,
> including the man pages.

mpiexec and mpirun are the same even in MPICH2. mpiexec is required by
the MPI standard, so all implementations provide it. mpirun is just kept
around for backward compatibility since the MPI-1 days.

I think there's a lot of confusion about MPICH2 on this email thread.
I'll be happy to clarify any questions.


 -- Pavan

Pavan Balaji

----- End forwarded message -----

More information about the Pkg-scicomp-devel mailing list