Skip to content

Commit

Permalink
net/mpich: upgrade to 4.1.2
Browse files Browse the repository at this point in the history
Upgrade to 4.1.2

Release notes at <https://www.mpich.org/2023/06/08/mpich-4-1-2-released/>.

It also installs mpi_f08.mod and some other interfaces, but this requires
ISO_Fortran_binding.h to be found.

PR:		275317
Exp-run by:	antoine@
  • Loading branch information
thierry-FreeBSD committed Dec 10, 2023
1 parent 781189d commit 8137285
Show file tree
Hide file tree
Showing 9 changed files with 558 additions and 217 deletions.
18 changes: 12 additions & 6 deletions net/mpich/Makefile
@@ -1,6 +1,5 @@
PORTNAME= mpich
PORTVERSION= 3.4.3
PORTREVISION= 2
PORTVERSION= 4.1.2
CATEGORIES= net parallel
MASTER_SITES= https://www.mpich.org/static/downloads/${DISTVERSION}/

Expand All @@ -22,13 +21,15 @@ LIB_DEPENDS= libhwloc.so:devel/hwloc2 \
libepoll-shim.so:devel/libepoll-shim
RUN_DEPENDS= bash:shells/bash

CONFLICTS= mpd mpich2
CONFLICTS= mpd
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USES= compiler:c11 libtool perl5 pkgconfig
USES= compiler:c11 libtool localbase perl5 pkgconfig python:build
USE_LDCONFIG= yes
TEST_TARGET= check

BINARY_ALIAS= python3=${PYTHON_CMD}

OPTIONS_DEFINE= DOCS FORTRAN L0
OPTIONS_GROUP= PM
OPTIONS_GROUP_PM= GFORKER HYDRA
Expand All @@ -54,15 +55,17 @@ DEFAULTPM_DESC= Default process manager
DGFORKER_DESC= Make gforker the default process manager
DHYDRA_DESC= Make hydra the default process manager

HYDRA_LIB_DEPENDS= libtorque.so:sysutils/torque

L0_DESC= oneAPI Level Zero support
L0_LIB_DEPENDS= libze_loader.so:devel/level-zero
L0_CONFIGURE_OFF= --without-ze

CONFIGURE_ARGS= --enable-fast="" --with-hwloc-prefix=${LOCALBASE} \
CONFIGURE_ARGS= --enable-fast="" \
--with-libfabric=${LOCALBASE} \
pkgconfigdir="${PREFIX}/libdata/pkgconfig" \
MPICHLIB_CFLAGS="${CFLAGS}" \
CFLAGS="-I${LOCALBASE}/include/json-c" \
CFLAGS="-I${LOCALBASE}/include/json-c ${CFLAGS_F2018}" \
MPICHLIB_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="" \
MPICHLIB_CXXFLAGS="${CXXFLAGS}" CXXFLAGS="" \
MPICHLIB_FFLAGS="${FFLAGS}" FFLAGS="" \
Expand Down Expand Up @@ -99,6 +102,9 @@ PLIST_SUB+= EXECGFORKER="@comment "
.endif
.endif

post-extract:
${FIND} ${WRKSRC} -name "*.orig" -delete

post-patch:
${RM} -r ${WRKSRC}/www

Expand Down
6 changes: 3 additions & 3 deletions net/mpich/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1639673969
SHA256 (mpich-3.4.3.tar.gz) = 8154d89f3051903181018166678018155f4c2b6f04a9bb6fe9515656452c4fd7
SIZE (mpich-3.4.3.tar.gz) = 32853411
TIMESTAMP = 1700836449
SHA256 (mpich-4.1.2.tar.gz) = 3492e98adab62b597ef0d292fb2459b6123bc80070a8aa0a30be6962075a12f0
SIZE (mpich-4.1.2.tar.gz) = 39250122
30 changes: 15 additions & 15 deletions net/mpich/files/patch-Makefile.in
@@ -1,6 +1,6 @@
--- Makefile.in.orig 2021-01-05 15:32:33 UTC
--- Makefile.in.orig 2023-06-07 20:28:39 UTC
+++ Makefile.in
@@ -9967,8 +9967,6 @@ hwlocsrcdir = @hwlocsrcdir@
@@ -6274,8 +6274,6 @@ install_sh = @install_sh@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
Expand All @@ -9,18 +9,18 @@
libdir = @libdir@
libexecdir = @libexecdir@
libmpi_so_version = @libmpi_so_version@
@@ -10237,12 +10235,12 @@ errnames_txt_files = src/mpi/errhan/errnames.txt \
src/mpid/ch3/errnames.txt $(am__append_52) $(am__append_63) \
$(am__append_66) $(am__append_77) $(am__append_82) \
src/pmi/errnames.txt
-external_subdirs = @mplsrcdir@ @zmsrcdir@ @hwlocsrcdir@ @jsonsrcdir@ \
+external_subdirs = @mplsrcdir@ @zmsrcdir@ @hwlocsrcdir@ \
@yaksasrcdir@ $(am__append_78) $(am__append_83)
external_ldflags = @mpllibdir@ @zmlibdir@ @hwloclibdir@ @netloclibdir@ @yaksalibdir@
@@ -6961,12 +6959,12 @@ errnames_txt_files = src/mpi/errhan/errnames.txt \
errnames_txt_files = src/mpi/errhan/errnames.txt \
src/mpid/ch3/errnames.txt $(am__append_54) $(am__append_75) \
$(am__append_80)
-external_subdirs = @mplsrcdir@ @hwlocsrcdir@ @jsonsrcdir@ \
+external_subdirs = @mplsrcdir@ @hwlocsrcdir@ \
@yaksasrcdir@ @pmisrcdir@ $(am__append_76) $(am__append_81)
external_ldflags = @mpllibdir@ @yaksalibdir@
external_libs = @WRAPPER_LIBS@
mpi_convenience_libs = $(am__append_13)
-pmpi_convenience_libs = @mpllib@ @zmlib@ @hwloclib@ @jsonlib@ \
+pmpi_convenience_libs = @mpllib@ @zmlib@ @hwloclib@ \
@yaksalib@ $(am__append_5) $(am__append_14) $(am__append_79) \
$(am__append_84)
mpi_convenience_libs = $(am__append_16)
-pmpi_convenience_libs = @mpllib@ @hwloclib@ @jsonlib@ @yaksalib@ \
+pmpi_convenience_libs = @mpllib@ @hwloclib@ @yaksalib@ \
@pmilib@ $(am__append_8) $(am__append_17) $(am__append_77) \
$(am__append_82)

91 changes: 42 additions & 49 deletions net/mpich/files/patch-configure
@@ -1,17 +1,17 @@
--- configure.orig 2021-12-16 17:26:22 UTC
--- configure.orig 2023-06-07 20:28:42 UTC
+++ configure
@@ -1217,8 +1217,6 @@ hwlocsrcdir
@@ -1082,8 +1082,6 @@ hwlocsrcdir
HAVE_ROMIO
hwloclib
hwloclibdir
hwlocsrcdir
-jsonlib
-jsonsrcdir
VISIBILITY_CFLAGS
BUILD_PROFILING_LIB_FALSE
BUILD_PROFILING_LIB_TRUE
@@ -31276,337 +31274,7 @@ fi
VISIBILITY_CFLAGS=""
fi
mpllib
mpllibdir
mplsrcdir
@@ -32056,359 +32054,7 @@ fi



-# json-c

Expand All @@ -20,6 +20,10 @@
-jsonlib=""
-
-
-jsonlib="modules/json-c/libjson-c.la"
-if test -e "${use_top_srcdir}/modules/PREBUILT" -a -e "$jsonlib"; then
- jsonsrcdir=""
-else
-
-
- if test -z "${pac_save_CFLAGS_nesting}" ; then
Expand Down Expand Up @@ -321,70 +325,59 @@
- eval pac_save_LIBS_${pac_save_LIBS_nesting}=""
-
-
-jsonsrcdir="${main_top_builddir}/modules/json-c"
-jsonlib="${main_top_builddir}/modules/json-c/libjson-c.la"
- jsonsrcdir="${main_top_builddir}/modules/json-c"
-fi
-
-
-
- if echo "$CPPFLAGS" | $FGREP -e "\<-I${use_top_srcdir}/modules/json-c\>" >/dev/null 2>&1; then :
- if test x$pac_has_fgrep_word = "xyes"; then
- if echo "$CPPFLAGS" | $FGREP -w -e "-I${use_top_srcdir}/modules/json-c" >/dev/null 2>&1; then :
- echo "CPPFLAGS(='$CPPFLAGS') contains '-I${use_top_srcdir}/modules/json-c', not appending" >&5
-else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${use_top_srcdir}/modules/json-c', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${use_top_srcdir}/modules/json-c"
- CPPFLAGS="$CPPFLAGS -I${use_top_srcdir}/modules/json-c"
-
-
-fi
- else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${use_top_srcdir}/modules/json-c', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${use_top_srcdir}/modules/json-c"
-
- fi
-
-
-
-
- if echo "$CPPFLAGS" | $FGREP -e "\<-I${main_top_builddir}/modules/json-c\>" >/dev/null 2>&1; then :
-
- if test x$pac_has_fgrep_word = "xyes"; then
- if echo "$CPPFLAGS" | $FGREP -w -e "-I${main_top_builddir}/modules/json-c" >/dev/null 2>&1; then :
- echo "CPPFLAGS(='$CPPFLAGS') contains '-I${main_top_builddir}/modules/json-c', not appending" >&5
-else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${main_top_builddir}/modules/json-c', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${main_top_builddir}/modules/json-c"
- CPPFLAGS="$CPPFLAGS -I${main_top_builddir}/modules/json-c"
-
-
-fi
- else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${main_top_builddir}/modules/json-c', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${main_top_builddir}/modules/json-c"
-
- fi
-
-
-
# ----------------------------------------------------------------------------
# HWLOC
# ----------------------------------------------------------------------------
@@ -43674,16 +43342,6 @@ _ACEOF
# must come first.
# ----------------------------------------------------------------------------

-#
-# First, determine whether we are/can support the language bindings
-#
-# Since F90/F90FLAGS are replaced by FC/FCFLAGS, rather than silently
-# substituting them, i.e. FC=$F90 and FCFLAGS=$F90FLAGS, we choose to emit
-# an error message and abort to avoid any ambiguous/hidden bug in choosing
-# Fortran90 compilers.
-if test -n "$F90" -o -n "$F90FLAGS" ; then
- as_fn_error $? "F90 and F90FLAGS are replaced by FC and FCFLAGS respectively in this configure, please unset F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure again." "$LINENO" 5
-fi
# HWLOC / NETLOC
# ----------------------------------------------------------------------------
# Handle default choices for the Fortran compilers
# Note that these have already been set above
@@ -46449,18 +46107,8 @@ addarg=$pac_cv_prog_f77_mismatched_args_parm
@@ -39394,6 +39040,7 @@ addarg=$pac_cv_prog_f77_mismatched_args_parm
fi

addarg=$pac_cv_prog_f77_mismatched_args_parm
+FFLAGS="$FFLAGS $addarg"

- if test "X$addarg" != "X" ; then
- # We could add the names of all of the MPI routines that
- # accept different types. Instead, we fail cleanly.
- # Some Fortran compilers allow you to turn off checking for
- # mismatched arguments for *all* routines. Adding an argument
- # that turns off checking for *everything* is not something that
- # configure should do - if the user wants this, they can follow
- # the instructions in the following error message.
- as_fn_error $? "The Fortran compiler $F77 does not accept programs that call the same routine with arguments of different types without the option $addarg. Rerun configure with FFLAGS=$addarg" "$LINENO" 5
- fi
-
bindings="$bindings f77"

$as_echo "#define HAVE_FORTRAN_BINDING 1" >>confdefs.h
@@ -52094,6 +51742,9 @@ else
if test "X$addarg" != "X" ; then
# Code using mpif.h interface will likely need this flag to compile.
@@ -44745,6 +44392,9 @@ else
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_wchar_t" "$ac_includes_default
Expand Down
60 changes: 0 additions & 60 deletions net/mpich/files/patch-l0-1.4.1

This file was deleted.

44 changes: 0 additions & 44 deletions net/mpich/files/patch-l0-fallback

This file was deleted.

36 changes: 6 additions & 30 deletions net/mpich/files/patch-test_mpi_configure
@@ -1,7 +1,7 @@
--- test/mpi/configure.orig 2021-12-16 17:25:47 UTC
--- test/mpi/configure.orig 2023-06-07 20:29:41 UTC
+++ test/mpi/configure
@@ -4486,21 +4486,9 @@ fi
fi
@@ -6808,16 +6808,6 @@ fi

fi

-# First, determine whether we are/can support the language bindings
Expand All @@ -13,31 +13,7 @@
-if test -n "$F90" -o -n "$F90FLAGS" ; then
- as_fn_error $? "F90 and F90FLAGS are replaced by FC and FCFLAGS respectively in this configure, please unset F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure again." "$LINENO" 5
-fi

# ------------------------------------------------------------------------

-
-# ------------------------------------------------------------------------
-
if test "$enable_threads" = "yes" ; then
enable_threads=multiple
elif test "$enable_threads" = "no" ; then
@@ -11038,17 +11026,7 @@ addarg=$pac_cv_prog_f77_mismatched_args_parm
fi

addarg=$pac_cv_prog_f77_mismatched_args_parm
-
- if test "X$addarg" != "X" ; then
- # We could add the names of all of the MPI routines that
- # accept different types. Instead, we fail cleanly.
- # Some Fortran compilers allow you to turn off checking for
- # mismatched arguments for *all* routines. Adding an argument
- # that turns off checking for *everything* is not something that
- # configure should do - if the user wants this, they can follow
- # the instructions in the following error message.
- as_fn_error $? "The Fortran compiler $F77 does not accept programs that call the same routine with arguments of different types without the option $addarg. Rerun configure with FFLAGS=$addarg" "$LINENO" 5
- fi
+FFLAGS="$FFLAGS $addarg"

# Check whether we need -lU77 to get iargc and getarg, which
# are used for a few of the tests in spawn (U77 was needed with
# errordir is substituted into the testlist file as errors when the
# tests should check error handling and as a comment (#) otherwise.
errordir="#"
2 changes: 2 additions & 0 deletions net/mpich/pkg-descr
Expand Up @@ -5,3 +5,5 @@ different computation and communication platforms including commodity
clusters, high-speed networks and proprietary high-end computing systems.
It also enables cutting-edge research in MPI through an easy-to-extend
modular framework for other derived implementations.

See also <https://github.com/pmodels/mpich>.

0 comments on commit 8137285

Please sign in to comment.