tags 563705 +patch thanks Hi and apologies for the long delay...
On Fri, 2010-02-26 at 14:55 -0500, Adam C Powell IV wrote: > On Fri, 2010-02-26 at 20:22 +0100, Lucas Nussbaum wrote: > > On 26/02/10 at 10:46 -0500, Adam C Powell IV wrote: > > > On Thu, 2010-02-25 at 20:49 +0100, Lucas Nussbaum wrote: > > > > On 25/02/10 at 14:22 -0500, Adam C Powell IV wrote: > > > > > On Thu, 2010-02-25 at 18:10 +0100, Lucas Nussbaum wrote: > > > > > > > > There is not much progress so far with respect to changing > > > > > > > > mpi-defaults > > > > > > > > to use MPICH2 instead of LAM on the architectures where Open > > > > > > > > MPI is not > > > > > > > > available yet. This needs a round of binNMUs. Marc Brockschmidt > > > > > > > > said he > > > > > > > > will look at the request to debian-release in the next few > > > > > > > > days, so this > > > > > > > > might resolve soon as well. > > > > > > > > > > > > > > Something to consider: this will break a lot of packages which use > > > > > > > FORTRAN until 563705 is fixed, and then that will require mods to > > > > > > > packages. > > > > > > > > > > > > I understand that bug as: > > > > > > if mpich2 or openmpi don't do the right thing when calling > > > > > > mpif77/mpif90, then symlinks are needed. > > > > > > > > > > > > Is there a proof that either of them doesn't do the right thing? > > > > > > Wouldn't it be more appropriate to fix them to do the right thing? > > > > > > > > > > > > (Those are honest questions -- I don't know anything about fortran) > > > > > > > > > > As discussed before (including in the bug), when there are mixed > > > > > FORTRAN > > > > > and C++ symbols, it's not clear whether to use mpif77/90 or mpic++. > > > > > > > > > > Also, it's a big convenience: a lot of packages make multiple > > > > > executables and/or libraries, some of which use MPI and some don't. > > > > > Pointing them to -lmpi -lmpi++ -lmpif77 for the MPI execs/lib > > > > > directories seems easier than telling them to use mpicc and friends > > > > > for > > > > > some targets and gcc for others. > > > > > > > > I'm not sure I buy that, since mpicc & friends also hide include paths, > > > > which are not handled with alternatives currently. > > > > > > Are you sure? > > > > > > % update-alternatives --display mpi > > > mpi - auto mode > > > link currently points to /usr/lib/openmpi/include > > > /usr/lib/openmpi/include - priority 40 > > > slave libmpi++.so: /usr/lib/openmpi/lib/libmpi_cxx.so > > > [And a bunch of other slaves] > > > > > > > It sounds more like a > > > > way to break packages by getting them linked with the wrong version of > > > > MPI. > > > > Do you know of packages doing that already? > > > > > > I've used this in most of my packages: petsc, hypre, libmesh, the new > > > netgen and med-fichier under development (pending togl and updated hdf5 > > > respectively), and salomé under development. > > > > > > Why would this break packages, if they just build-depend on > > > mpi-default-dev? If the mpicc/mpif77 etc. alternatives work, why not > > > the includes and libs as well? > > > > OK. Since it's harmless anyway, could you prepare and test patches for > > openmpi and mpich2? Since it would be a slave alternative, it doesn't > > require any alternatives transition. > > Will do, thanks. I'll also need to patch (at least my) packages which > use this, will get to that in short order. "Short order" turned out to be somewhat long order, but here are the patches for mpich2 and openmpi. -Adam -- GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 Engineering consulting with open source tools http://www.opennovation.com/
--- mpich2-1.2.1/debian/libmpich2-dev.postinst~ 2010-02-28 08:04:31.000000000 -0500 +++ mpich2-1.2.1/debian/libmpich2-dev.postinst 2010-03-09 10:56:08.000000000 -0500 @@ -19,6 +19,8 @@ --install /usr/include/mpi mpi /usr/include/mpich2 40 \ --slave /usr/lib/libmpi.so libmpi.so /usr/lib/libmpich.so \ --slave /usr/lib/libmpi++.so libmpi++.so /usr/lib/libmpichcxx.so \ + --slave /usr/lib/libmpif77.so libmpif77.so /usr/lib/libfmpich.so \ + --slave /usr/lib/libmpif90.so libmpif90.so /usr/lib/libmpichf90.so \ --slave /usr/bin/mpicc mpicc /usr/bin/mpicc.mpich2 \ --slave /usr/bin/mpic++ mpic++ /usr/bin/mpic++.mpich2 \ --slave /usr/bin/mpicxx mpicxx /usr/bin/mpicxx.mpich2 \ --- mpich2-1.2.1/debian/changelog~ 2010-02-28 08:04:31.000000000 -0500 +++ mpich2-1.2.1/debian/changelog 2010-03-09 11:04:13.000000000 -0500 @@ -1,3 +1,11 @@ +mpich2 (1.2.1-3) UNRELEASED; urgency=low + + [Adam C. Powell, IV] + * Added slave alternatives symlinks for MPI FORTRAN libraries + (closes: #563705). + + -- Adam C. Powell, IV <hazel...@debian.org> Tue, 09 Mar 2010 11:04:13 -0500 + mpich2 (1.2.1-2) unstable; urgency=low * Remove bashism in postinst introduced in 1.2.1-1. (fixes piuparts failure)
--- openmpi-1.4.1/debian/libopenmpi-dev.postinst~ 2010-02-28 08:04:26.000000000 -0500 +++ openmpi-1.4.1/debian/libopenmpi-dev.postinst 2010-03-09 08:16:16.000000000 -0500 @@ -6,6 +6,8 @@ --install /usr/include/mpi mpi /usr/lib/openmpi/include 40 \ --slave /usr/lib/libmpi.so libmpi.so /usr/lib/openmpi/lib/libmpi.so \ --slave /usr/lib/libmpi++.so libmpi++.so /usr/lib/openmpi/lib/libmpi_cxx.so \ + --slave /usr/lib/libmpif77.so libmpif77.so /usr/lib/openmpi/lib/libmpi_f77.so \ + --slave /usr/lib/libmpif90.so libmpif90.so /usr/lib/openmpi/lib/libmpi_f90.so \ --slave /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi \ --slave /usr/bin/mpic++ mpic++ /usr/bin/mpic++.openmpi \ --slave /usr/bin/mpicxx mpicxx /usr/bin/mpic++.openmpi \ --- openmpi-1.4.1/debian/changelog~ 2010-02-28 08:04:26.000000000 -0500 +++ openmpi-1.4.1/debian/changelog 2010-03-09 11:04:54.000000000 -0500 @@ -1,3 +1,11 @@ +openmpi (1.4.1-2) UNRELEASED; urgency=low + + [Adam C. Powell, IV] + * Added slave alternatives symlinks for MPI FORTRAN libraries + (closes: #563705). + + -- Adam C. Powell, IV <hazel...@debian.org> Tue, 09 Mar 2010 11:04:54 -0500 + openmpi (1.4.1-1) unstable; urgency=low [ Sylvestre Ledru ]
signature.asc
Description: This is a digitally signed message part