Control: reassign -1 libmpich-dev
Control: reassign 853532 libmpich-dev
Control: reassign 853562 libmpich-dev
Control: reassign 853404 libmpich-dev
Control: forcemerge -1 853532 853562 853404
Control: retitle -1 libmpich-dev: drop the gcc version check in mpicxx.h
Control: affects -1 src:bagel src:madness src:mpqc3 src:form
Control: tags -1 patch

On Tue, Jan 31, 2017 at 09:29:53AM +0000, Matthias Klose wrote:
>...
> /usr/include/mpich/mpicxx.h:21:4: error: #error 'Please use the same version 
> of GCC and g++ for compiling MPICH and user MPI programs'
>  #  error 'Please use the same version of GCC and g++ for compiling MPICH and 
> user MPI programs'
>...

The recent binNMU has "fixed" that, but we will see the same again with 
gcc 8 and the current check really doesn't make much sense:
# if __GNUC__ > 7
#  error 'Please use the same version of GCC and g++ for compiling MPICH and 
user MPI programs'
# endif

Attached is a patch to drop the whole check.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Description: Remove the gcc version check
Author: Adrian Bunk <b...@debian.org>
Bug-Debian: https://bugs.debian.org/811210
Bug-Debian: https://bugs.debian.org/853324

--- mpich-3.2.orig/src/binding/cxx/mpicxx.h.in
+++ mpich-3.2/src/binding/cxx/mpicxx.h.in
@@ -12,18 +12,6 @@
 #error "You cannot define MPI; that name is reserved for the MPI namespace"
 #endif
 
-// 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
-
 /* 
  * Because the API is defined, some methods have parameters that are 
  * not used.  The following definition allows us to suppress warnings

Reply via email to