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

Re: How is mpi-default-dev supposed to work?



On 21/03/10 at 18:59 +0100, Thibaut Paumard wrote:
> 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.

Yes.

> 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.

That's why we are supposed to build in clean chroots ;)

> This can be resolved in several manners:
> - mpi-default-dev could conflict against all the non-default MPI
> implementations;

OK

> - openmpi could (should) have a higher priority than mpich2;

Doesn't really work, because the priority would need to be reverted on
the architectures where both are available, but we want to use mpich2
because openmpi would be partially broken (I don't think that there are
architectures in that case currently, but it might be the case in the
future.

> - 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".

That requires transitioning all packages: no.

other solution:
- ensure (in mpi-defaults' postinst) that mpicc points to the correct
  binary.

> 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.

Please don't. Follow what the other packages are doing.
-- 
| Lucas Nussbaum
| lucas@lucas-nussbaum.net   http://www.lucas-nussbaum.net/ |
| jabber: lucas@nussbaum.fr             GPG: 1024D/023B3F4F |


Reply to: