[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How is mpi-default-dev supposed to work?



Hi,

I am building a new package against mpi-default-dev.

If I understand correctly, mpi-default-dev just pulls either openmpi- dev or lam-dev (to be replaced soon by mpich2-dev...) and trusts the alternatives system to install the right links as mpicc etc.

I think that this currently does not work reliably since mpich2 has the same priority (40) as openmpi for the alternatives system. If package A build-depends on mpi-default-dev and is built on a machine where mpich2-dev has been installed after openmpi-dev, package A will be built against mpich2, not against openmpi.

This can be resolved in several manners:
- mpi-default-dev could conflict against all the non-default MPI implementations;
- openmpi could (should) have a higher priority than mpich2;
- my preferred solution: mpi-defaut-dev could provide links like mpicc.mpi-defaults that would be the commands actually used when building. They could also be installed as alternatives with a very high priority, but I think it is safer to directly use the fully qualified name "mpicc.mpi-default".

I do not (yet) file a bug report because the bug may well lie in my understanding, so I prefer to discuss the matter here first.

For the time being, I will try to make my debian/rules use mpicc.openmpi if it is available and fall back to mpicc, since the default is openmpi wherever it can be installed. mpicc may be a link to mpicc.mpich2 instead of mpicc.lam in some circumstances.

Best regards, Thibaut.


Reply to: