[MacPorts] #55917: mpich-gcc7 complains about g++ version mismatch

MacPorts noreply at macports.org
Thu Mar 1 19:04:03 UTC 2018


#55917: mpich-gcc7 complains about g++ version mismatch
--------------------------+----------------------
  Reporter:  astroboylrx  |      Owner:  eborisch
      Type:  defect       |     Status:  closed
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.4.2
Resolution:  fixed        |   Keywords:
      Port:  mpich-gcc7   |
--------------------------+----------------------

Comment (by astroboylrx):

 Although C++ bindings were deprecated in 2009, `mpi.h` will include
 `mpicxx.h` if `__cplusplus` is defined and `<LANG>_SKIP_MPICXX` is not
 specifically defined.

 For example, in mpi.h from openmpi-3.0.0

 {{{
     2693 /*
     2694  * Conditional MPI 2 C++ bindings support.  Include if:
     2695  *   - The user does not explicitly request us to skip it (when a
 C++ compiler
     2696  *       is used to compile C code).
     2697  *   - We want C++ bindings support
     2698  *   - We are not building OMPI itself
     2699  *   - We are using a C++ compiler
     2700  */
     2701 #if !defined(OMPI_SKIP_MPICXX) && OMPI_BUILD_CXX_BINDINGS &&
 !OMPI_BUILDING
     2702 #if defined(c_plusplus) || defined(__cplusplus)
     2703 #include "openmpi/ompi/mpi/cxx/mpicxx.h"
     2704 #endif
     2705 #endif
 }}}

 and in mpi.h from MPICH-3.2.1

 {{{
     2217 #if defined(__cplusplus)
     2218 }
     2219 /* Add the C++ bindings */
     2220 /*
     2221    If MPICH_SKIP_MPICXX is defined, the mpicxx.h file will *not*
 be included.
     2222    This is necessary, for example, when building the C++
 interfaces.  It
     2223    can also be used when you want to use a C++ compiler to
 compile C code,
     2224    and do not want to load the C++ bindings.  These definitions
 can
     2225    be made by the C++ compilation script
     2226  */
     2227 #if !defined(MPICH_SKIP_MPICXX)
     2228 /* mpicxx.h contains the MPI C++ binding.  In the mpi.h.in file,
 this
     2229    include is in an autoconf variable in case the compiler is a
 C++
     2230    compiler but MPI was built without the C++ bindings */
     2231 #include "mpicxx.h"
     2232 #endif
     2233 #endif
 }}}

--
Ticket URL: <https://trac.macports.org/ticket/55917#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list