Package: mpich Version: 4.1.2-2 Severity: important Tags: patch Hello,
The mpich package needs a few fixes to build on hurd-amd64, as the attached patch does. The patch incidentally fixes passing --with-ibverbs --with-libfabric=/usr --with-slurm on most archs : the condition was inverted in debian/rules... It probably also fixes build failures reported on ppc64 (see #1032008 #1054035) Samuel -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 6.5.0-1-amd64 (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages mpich depends on: ii hwloc 2.9.3-1 ii libc6 2.37-12 ii libhwloc15 2.9.3-1 ii libmpich12 4.1.2-2 ii libslurm39 23.02.3-2 Versions of packages mpich recommends: ii libmpich-dev 4.1.2-2 Versions of packages mpich suggests: pn mpich-doc <none> -- no debconf information -- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.
--- debian/rules.original 2023-11-05 21:03:47.000000000 +0000 +++ debian/rules 2023-11-05 22:06:10.000000000 +0000 @@ -23,40 +23,40 @@ # Keep old library naming scheme export MPILIBNAME=mpich -NO_ROMIO_ARCH:= hurd-i386 -NO_VERBS_ARCH:= hurd-i386 s390x -NO_SLURM_ARCH:= hurd-i386 -NO_FABRIC_ARCH:= hurd-i386 s390x powerpc sh4 x32 +NO_ROMIO_ARCH:= hurd-amd64 hurd-i386 +NO_VERBS_ARCH:= hurd-amd64 hurd-i386 s390x +NO_SLURM_ARCH:= hurd-amd64 hurd-i386 +NO_FABRIC_ARCH:= hurd-amd64 hurd-i386 s390x powerpc sh4 x32 BUILTIN_ATOMICS_ARCH:= armhf riscv64 hppa NO_REAL128_ARCH:= armel armhf mipsel hppa m68k sh5 # Pick one as default NO_CH4_ARCH:= armel armhf i386 mipsel hppa m68k sh4 powerpc x32 mips64el s390x UCX_ARCH:= amd64 ppc64el arm64 -ifneq (,$(findstring " $(DEB_HOST_ARCH)",$(NO_VERBS_ARCH))) +ifeq (,$(filter $(DEB_HOST_ARCH),$(NO_VERBS_ARCH))) VERBS := --with-ibverbs endif -ifneq (,$(findstring $(DEB_HOST_ARCH),$(BUILTIN_ATOMICS_ARCH))) +ifneq (,$(filter $(DEB_HOST_ARCH),$(BUILTIN_ATOMICS_ARCH))) DISABLE_BUILTIN_ATOMICS:= --with-atomic-primitives=no endif -ifneq (,$(findstring $(DEB_HOST_ARCH),$(NO_FABRIC_ARCH))) +ifeq (,$(filter $(DEB_HOST_ARCH),$(NO_FABRIC_ARCH))) FABRIC := --with-libfabric=/usr endif -ifneq (,$(findstring $(DEB_HOST_ARCH),$(NO_REAL128_ARCH))) +ifneq (,$(filter $(DEB_HOST_ARCH),$(NO_REAL128_ARCH))) MPICHLIB_FCFLAGS:=$(MPICHLIB_FCFLAGS) -DNO_REAL128 endif -ifneq (,$(findstring $(DEB_HOST_ARCH),$(NO_SLURM_ARCH))) +ifeq (,$(filter $(DEB_HOST_ARCH),$(NO_SLURM_ARCH))) SLURM := --with-slurm=/usr endif DEVICE:= --with-device=ch3 UCX:= PMIX:= -ifeq (,$(findstring $(DEB_HOST_ARCH),$(NO_CH4_ARCH))) +ifeq (,$(filter $(DEB_HOST_ARCH),$(NO_CH4_ARCH))) DEVICE:= --with-device=ch4:ofi #PMIX:= --with-pmix=/usr/lib/$(DEB_HOST_MULTIARCH)/pmix2 endif -ifneq (,$(findstring $(DEB_HOST_ARCH),$(UCX_ARCH))) +ifneq (,$(filter $(DEB_HOST_ARCH),$(UCX_ARCH))) DEVICE:= --with-device=ch4:ucx UCX:= --with-ucx=/usr #PMIX:= --with-pmix=/usr/lib/$(DEB_HOST_MULTIARCH)/pmix2 @@ -87,7 +87,7 @@ # On sparc and sh4, OPA isn't available, so we need to fallback to # emulation mode. There's a performance penalty, unfortunately. -ifneq (,$(findstring $(DEB_HOST_GNU_CPU),sparc sh4)) +ifneq (,$(filter $(DEB_HOST_GNU_CPU),sparc sh4)) extra_flags += --with-atomic-primitives=no endif @@ -146,9 +146,9 @@ override_dh_installchangelogs: dh_installchangelogs README -# Some tests are failing on hurd-i386. +# Some tests are failing on hurd-amd64 hurd-i386. # Disable them, to be investiated later -# disable_test_archs = hurd-i386 +# disable_test_archs = hurd-amd64 hurd-i386 disable_test_archs = # ifneq (,$(filter $(DEB_HOST_ARCH),$(disable_test_archs))) override_dh_auto_test: --- debian/control.original 2023-11-05 21:17:37.000000000 +0000 +++ debian/control 2023-11-05 21:17:52.000000000 +0000 @@ -11,11 +11,11 @@ chrpath, hwloc-nox, libhwloc-dev, - librdmacm-dev [!hurd-i386], - libslurm-dev [!hurd-i386], - libibverbs-dev (>= 1.1.7) [!hurd-i386], - libfabric-dev [!hurd-i386 !powerpc !sh4 !x32], - libnuma-dev [!hurd-i386], + librdmacm-dev [!hurd-any], + libslurm-dev [!hurd-any], + libibverbs-dev (>= 1.1.7) [!hurd-any], + libfabric-dev [!hurd-any !powerpc !sh4 !x32], + libnuma-dev [!hurd-any], libucx-dev [amd64 ppc64el arm64], libpmix-dev, libxt-dev,