Hi,

On 21/11/2024 14:52, p...@debian.org wrote:
Hi Emilio,


Le 2024-11-21 13:27, Emilio Pozuelo Monfort a écrit :
Source: hdf5
Version: 1.10.10+repack-4
Severity: serious

Hi,

Due to the way openmpi support was dropped, using:

  Build-Depends: libopenmpi-dev | architecture-is-32-bit

and the way build-dependencies are installed in sbuild, where only the first
alternative is considered, the old libopenmpi-dev is still being installed,
and the build will start to fail once libopenmpi-dev is removed from the
affected architectures. Thus an architecture list is probably needed.

This seems to affect both unstable and experimental versions.

I'm sorry but I can't see how the build would fail after the removal of
libopenmpi-dev from 32bit architectures. Would you care to elaborate a bit
further?

There is this snippet in debian/rules which disable openmpi flavor on 32bit
architectures:

# OpenMPI not available on 32bit archs anymore
ifneq (${DEB_HOST_ARCH_BITS},32)
ARCHS_openmpi := $(OMPIARCHS)
else
ARCHS_openmpi :=
endif

The build will become bd-uninst, because libopenmpi-dev won't be available, and alternatives are not considered in build-depends. Notice the filtered build-dependencies line in [1], and how it gets installed, which is still possible because the old binary hasn't been removed yet (but will be removed eventually):

Merged Build-Depends: debhelper (>= 10~), mpi-default-dev, libopenmpi-dev | architecture-is-32-bit, libmpich-dev, zlib1g-dev, libjpeg-dev, gfortran, sharutils, chrpath, libaec-dev, default-jdk-headless (>= 2:1.7), libcurl4-openssl-dev, libssl-dev, javahelper, junit4, libslf4j-java, build-essential, fakeroot Filtered Build-Depends: debhelper (>= 10~), mpi-default-dev, libopenmpi-dev, libmpich-dev, zlib1g-dev, libjpeg-dev, gfortran, sharutils, chrpath, libaec-dev, default-jdk-headless (>= 2:1.7), libcurl4-openssl-dev, libssl-dev, javahelper, junit4, libslf4j-java, build-essential, fakeroot

libopenmpi-dev is still installed, because it's listed as the first build-dependency. Thus an architecture qualification list (e.g. libopenmpi-dev [!armel !armhf !any-i386 !hppa !m68k !powerpc !sh4 !x32] should be used instead.

Cheers,
Emilio

[1] https://buildd.debian.org/status/fetch.php?pkg=hdf5&arch=i386&ver=1.10.10%2Brepack-4&stamp=1722179670&raw=0

Reply via email to