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

Bug#925365: marked as done (unblock: mpich/3.3-3)



Your message dated Mon, 25 Mar 2019 19:10:00 +0000
with message-id <97f7070e-aeed-3c37-14f0-7885bed284b7@thykier.net>
and subject line Re: Bug#925365: unblock: mpich/3.3-3
has caused the Debian Bug report #925365,
regarding unblock: mpich/3.3-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
925365: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925365
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package mpich

It fixes building packages against mpich, see e.g. #924032.

unblock mpich/3.3-3

-- System Information:
Debian Release: 8.10
  APT prefers oldstable
  APT policy: (500, 'oldstable')
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru mpich-3.3/debian/changelog mpich-3.3/debian/changelog
--- mpich-3.3/debian/changelog	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/changelog	2019-03-18 09:31:47.000000000 +0100
@@ -1,3 +1,11 @@
+mpich (3.3-3) unstable; urgency=medium
+
+
+  * Patch from Ana Guerrero Lopez, Andreas Beckann to remove obsolete
+    GCC check. Closes: #807666, #924837.
+
+ -- Alastair McKinstry <mckinstry@debian.org>  Mon, 18 Mar 2019 08:31:47 +0000
+
 mpich (3.3-2) unstable; urgency=medium

   * Use dh_fortran_mod to install Fortran mod files in $fmoddir/mpich.
diff -Nru mpich-3.3/debian/control mpich-3.3/debian/control
--- mpich-3.3/debian/control	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/control	2019-03-18 09:31:47.000000000 +0100
@@ -38,7 +38,10 @@
 Fortran-Mod: ${Fortran-Mod}
 Breaks: libmpl-dev,
         libopa-dev,
-        libmpich2-dev
+        libmpich2-dev,
+        libopenmpi-dev (<< 3.0.1~rc1-2),
+        openmpi-bin (<< 3.0.1~rc1-2),
+        lam4-dev (<< 7.1.4-3.2),
 Replaces: libmpl-dev,
           libopa-dev,
           libmpich2-dev
@@ -89,7 +92,10 @@
 Suggests: mpich-doc (= ${source:Version})
 Breaks: mpich-bin,
         mpich2,
-	libmpich-dev ( << 3.3~b2-3~)
+        libmpich-dev ( << 3.3~b2-3~),
+        libopenmpi-dev (<< 3.0.1~rc1-2),
+        openmpi-bin (<< 3.0.1~rc1-2),
+        lam4-dev (<< 7.1.4-3.2),
 Replaces: mpich-bin,
           mpich2,
 	  libmpich-dev ( << 3.3~b2-3~)
diff -Nru mpich-3.3/debian/libmpich-dev.postinst.in mpich-3.3/debian/libmpich-dev.postinst.in
--- mpich-3.3/debian/libmpich-dev.postinst.in	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/libmpich-dev.postinst.in	2019-03-18 09:31:47.000000000 +0100
@@ -5,7 +5,7 @@
 # lib*.so files, which depends on the multiarch triplet. This can be gotten
 # from dpkg-architecture, but to avoid dependence on dpkg-dev, we instead
 # determine it at package build-time, and include a processed version of this
-# file as the libmpich-dev.postinst, where the variable triplet has been replaced
+# file as the libmpich-dev.postinst, where the variable TRIPLET has been replaced
 # by its appropriate value, depending on the build host architecture.

 set -e
@@ -27,5 +27,6 @@

 fi

+
 #DEBHELPER#

diff -Nru mpich-3.3/debian/libmpich-dev.preinst.in mpich-3.3/debian/libmpich-dev.preinst.in
--- mpich-3.3/debian/libmpich-dev.preinst.in	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/libmpich-dev.preinst.in	2019-03-18 09:31:47.000000000 +0100
@@ -2,10 +2,58 @@

 set -e

-# Splitting mpi and mpi-$MULTIARCH  requires this
-if [ ! -z "$(update-alternatives --query mpi 2> /dev/null | grep --silent mpi-fort.pc)" ]; then
-    update-alternatives --quiet --remove-all mpi >/dev/null 2>&1
-    update-alternatives --quiet --remove-all mpi-TRIPLET >/dev/null 2>&1
+remove_corrupt_alternative()
+{
+	local alt=$1
+
+	if [ -f /var/lib/dpkg/alternatives/$alt ] && \
+		! update-alternatives --query $alt >/dev/null 2>&1
+	then
+		# file exists, but query failed? likely corrupt!
+		echo "Removing corrupt alternative(s) '$alt'"
+		update-alternatives --remove-all $alt >/dev/null 2>&1 || \
+			rm -fv /var/lib/dpkg/alternatives/$alt
+	fi
+}
+
+remove_obsolete_alternative()
+{
+	local alt=$1
+
+	remove_corrupt_alternative $alt
+
+	if update-alternatives --query $alt >/dev/null 2>&1
+	then
+		echo "Removing obsolete alternative(s) '$alt'"
+		update-alternatives --remove-all $alt
+	fi
+}
+
+if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then
+
+	if dpkg --compare-versions "$2" lt "3.3-2~" ; then
+
+		# Recover from historically grown corruption (#912437)
+		remove_corrupt_alternative mpi
+		remove_corrupt_alternative mpi-TRIPLET
+
+		# mpicc seemed to be used as a master alternative by some MPI package. But
+		# currently, all MPI packages have the mpicc alternative installed as a slave
+		# link. We remove the link here in order to resolve bugs #531184 and #532910.
+		remove_obsolete_alternative mpicc
+
+		# Similarly, see #886644
+		remove_obsolete_alternative mpiCC
+
+		# Splitting mpi and mpi-$MULTIARCH requires this
+		if update-alternatives --query mpi 2>/dev/null | grep -q mpi-fort.pc ; then
+			echo "Removing pre-multiarch 'mpi' alternative(s)"
+			update-alternatives --remove-all mpi
+			update-alternatives --remove-all mpi-TRIPLET 2>/dev/null || true
+		fi
+
+	fi
+
 fi

 #DEBHELPER#
diff -Nru mpich-3.3/debian/libmpich-dev.prerm.in mpich-3.3/debian/libmpich-dev.prerm.in
--- mpich-3.3/debian/libmpich-dev.prerm.in	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/libmpich-dev.prerm.in	2019-03-18 09:31:47.000000000 +0100
@@ -2,7 +2,10 @@

 set -e

-if [ "$1" != "upgrade" ]; then
+# do not touch the alternative while being deconfigured
+# this is a M-A:same package which gets regularily deconfigured
+# during upgrades if multiple architectures are installed
+if [ "$1" = "remove" ]; then
 	update-alternatives --remove mpi-TRIPLET /usr/include/TRIPLET/mpich
 fi

diff -Nru mpich-3.3/debian/mpich.postinst mpich-3.3/debian/mpich.postinst
--- mpich-3.3/debian/mpich.postinst	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/mpich.postinst	2019-03-18 09:31:47.000000000 +0100
@@ -2,27 +2,15 @@

 set -e

-case "$1" in
-   configure)
-      # Continue below
-      ;;
-   abort-upgrade|abort-remove|abort-deconfigure)
-      exit 0;
-      ;;
-   *)
-      echo "postinst called with unknown argument \`$1'" >&2
-      exit 0;
-      ;;
-esac
+if [ "$1" = "configure" ]; then

-# so, we are running with $1 = configure
 # mpich2 versions before 1.2.1~rc1-1 were using two alternatives where other
 # MPI implementations were using only one, which breaks. Clean up
 # our mess.
 if [ "$2" != "" ] && dpkg --compare-versions "$2" le "1.2.1~rc1-1"; then
     update-alternatives --remove mpiexec /usr/bin/mpiexec.mpich2
 fi
-if update-alternatives --list mpiexec > /dev/null 2>&1; then
+if update-alternatives --list mpiexec >/dev/null 2>&1; then
     # OK, that case sucks. Apparently, we still have a mpiexec alternative, maybe
     # from a different package (like openmpi). In that case, the only thing we
     # can do is --remove-all...
@@ -51,5 +39,5 @@
 	--slave /usr/bin/mpiexec mpiexec /usr/bin/mpiexec.mpich \
 	--slave /usr/share/man/man1/mpiexec.1.gz mpiexec.1.gz /usr/share/man/man1/mpiexec.mpich.1.gz

-#DEBHELPER#
+fi

diff -Nru mpich-3.3/debian/mpich.prerm mpich-3.3/debian/mpich.prerm
--- mpich-3.3/debian/mpich.prerm	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/mpich.prerm	2019-03-18 09:31:47.000000000 +0100
@@ -2,7 +2,7 @@

 set -e

-if [ "$1" != "upgrade" ]; then
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
 	update-alternatives --remove mpirun /usr/bin/mpirun.mpich
 	update-alternatives --remove mpi /usr/bin/mpicc.mpich
 fi
diff -Nru mpich-3.3/debian/patches/0001-Remove-obsolete-GCC-check.patch mpich-3.3/debian/patches/0001-Remove-obsolete-GCC-check.patch
--- mpich-3.3/debian/patches/0001-Remove-obsolete-GCC-check.patch	1970-01-01 01:00:00.000000000 +0100
+++ mpich-3.3/debian/patches/0001-Remove-obsolete-GCC-check.patch	2019-03-18 09:31:47.000000000 +0100
@@ -0,0 +1,49 @@
+>From 43a4b31ecb6a6a13b09f42b5ecef98e40ab31123 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ana=20Guerrero=20L=C3=B3pez?= <aguerrero@suse.com>
+Date: Thu, 14 Mar 2019 16:12:56 +0100
+Subject: [PATCH] Remove obsolete GCC check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This check was added due to a problem with GCC 3 and currently
+MPICH supports GCC >= 4.1
+Keeping this code around forces to rebuild mpich every time there
+is a new minor version of GCC. Even when it shouldn't be a problem
+using different GCC minor versions belonging to the same release
+series.
+
+Signed-off-by: Ana Guerrero López <aguerrero@suse.com>
+---
+ src/binding/cxx/buildiface | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/src/binding/cxx/buildiface b/src/binding/cxx/buildiface
+index 6c17990ae..52c224066 100755
+--- a/src/binding/cxx/buildiface
++++ b/src/binding/cxx/buildiface
+@@ -1454,21 +1454,6 @@ sub printDefineChecks {
+ #endif\n\n";
+     }
+
+-    # GCC changed the calling convention between 3.2.3 and 3.4.3 (!!!)
+-    # check for that
+-    print $OUTFD "
+-// Check for incompatible GCC versions
+-// GCC (specifically) g++ changed the calling convention
+-// between 3.2.3 and 3.4.3 (!!)  Normally such changes
+-// should only occur at major releases (e.g., version 3 to 4)
+-#ifdef __GNUC__
+-# if __GNUC__ >= \@GNUCXX_VERSION\@
+-#  if __GNUC_MINOR__ > 2 && \@GNUCXX_MINORVERSION\@ == 2
+-#  error 'Please use the same version of GCC and g++ for compiling MPICH and user MPI programs'
+-#  endif
+-# endif
+-#endif\n";
+-
+     print $OUTFD "
+ /*
+  * Because the API is defined, some methods have parameters that are
+--
+2.21.0
+
diff -Nru mpich-3.3/debian/patches/series mpich-3.3/debian/patches/series
--- mpich-3.3/debian/patches/series	2019-02-22 17:45:42.000000000 +0100
+++ mpich-3.3/debian/patches/series	2019-03-18 09:31:47.000000000 +0100
@@ -2,3 +2,4 @@
 10_gcc-check.patch
 pkgconfig.patch
 # fix-autogen-hwloc.patch
+0001-Remove-obsolete-GCC-check.patch

--- End Message ---
--- Begin Message ---
Michael Banck:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Please unblock package mpich
> 
> It fixes building packages against mpich, see e.g. #924032.
> 
> unblock mpich/3.3-3
> 
> [...]

Unblocked, thanks.
~Niels

--- End Message ---

Reply to: