Bug#904020: libpetsc-real3.9-dev: dependency on libopenmpi-dev not strict enough

Drew Parsons dparsons at debian.org
Thu Jul 19 03:18:00 BST 2018


On Wed, 2018-07-18 at 13:52 +0200, Paul Gevers wrote:
> Package: libpetsc-real3.9-dev
> Version: 3.9.3+dfsg1-2
> 
> Dear Drew,
> 
> On 17-07-18 13:20, Graham Inggs wrote:
> > Hi Drew
> > 
> > > On Tue, 17 Jul 2018, Drew Parsons wrote:
> > > > The configuration of ci.debian.org is not consistent.   A
> > > > failing test
> > > > of deal.ii is marked on
> > > > https://ci.debian.net/packages/d/deal.ii/testing/amd64/
> > > > as triggered by petsc/3.9.3+dfsg1-2, but the test log shows
> > > > that in
> > > > fact libpetsc-real3.8-dev is used for the test
> > > > (i.e. petsc/3.8.4+dfsg1-2+b2).  So unsurprisingly the test
> > > > fails, which
> > > > disrupts migration of the new petsc 3.9 (throwing it out to 10
> > > > days
> > > > instead of 5). The failure itself occurs since the different
> > > > petsc were
> > > > built against different openmpi.
> > > From the times in the logs, it appears that the test was run
> > > before
> > 
> > deal.ii's binNMU happened [1].
> > So the delay is only temporary.
> > 
> > As soon as the test is successful, the migration delay will
> > disappear.
> > 
> > I've requested a retry for that test, so it should happen soon.
> 
> Although Graham was right with his timing regarding binNMU of
> deal.ii,
> there is more going on. I really don't want to offend you, but I
> wonder
> if you read the actual error message carefully? (It took Graham and
> me
> quite some time to figure this out and to understand it).
> 
> '''
> PETSc was configured with one OpenMPI mpi.h version but now appears
> to
> be compiling using a different OpenMPI mpi.h version
> '''
> 
> This message comes from petsc, so, whatever header file got installed
> was blessed by petsc.
> 
> Apart from petsc/3.8.4+dfsg1-2+b2 also petsc/3.9.3+dfsg1-2 packages
> were
> installed (so both of them), so I think the trigger did it's job.
> 
> I believe that the current failure is really pointing at a bug in the
> dependencies of libpetsc-real3.9-dev which probably need tighter
> restrictions on libopenmpi-dev looking at the message. If
> libpetsc-real3.9-dev would require libopenmpi-dev from unstable, I
> believe everything would be all right. I'll trigger a test like the
> one
> that currently fails, but with libopenmpi-dev from unstable to prove
> my
> hypothesis.


Thanks for the extra analysis Paul.  You're right, I picked up on the
appearance of petsc 3.8 in the failing tests but actually petsc 3.9 is
installed there too (which is a bit weird).

In regards to the petsc/openmpi dependency, we've already addressed
that. It used to depend on the subminor release version, we've relaxed
it to match major.minor 
https://bitbucket.org/petsc/petsc/commits/ca70f86ee9db8e69523e0e69f12289c6cab9b4cb . 

That relationship is expressed in the libpetsc-real3.9-dev dependency,
libopenmpi-dev (>= 3.1), and that's for both libpetsc-real3.8-dev and
libpetsc-real3.9-dev at the moment.


OpenMPI was libopenmpi-dev 3.1.0-7 in the failing deal.ii tests, and 
libopenmpi-dev 3.1.1.real-3 in the successful tests. Either way that's
still openmpi 3.1, so is supposed to be compatible.  

So looks like you're right, there may be a PETSc bug when it tests for
mpi compatibility. openmpi 3.1.0 and 3.1.1. are both supposed to be
fine, they should not be triggering the incompatibility warning.

Drew



More information about the debian-science-maintainers mailing list