From 38512d18e902ae9ca1dc2aaf8091e384e0fd824d Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Tue, 14 Feb 2023 19:54:37 +0100 Subject: [PATCH] Remove obsolete autotools patches (#35479) * netcdf-fortran: remove obsolete Autotools patches * openmpi: remove obsolete Autotools patches * parallel-netcdf: remove obsolete Autotools patches --- .../netcdf-fortran/nag_libtool_2.4.2.patch | 124 ------------------ .../netcdf-fortran/nag_libtool_2.4.6.patch | 96 -------------- .../packages/netcdf-fortran/package.py | 56 -------- .../openmpi/nag_pthread/1.10.4_1.10.999.patch | 49 ------- .../openmpi/nag_pthread/2.0.0_2.1.1.patch | 40 ------ .../nag_pthread/2.1.2_2.1.3_3.0.0.patch | 49 ------- .../nag_pthread/2.1.4_2.1.999_3.0.1_4.patch | 49 ------- .../repos/builtin/packages/openmpi/package.py | 8 -- .../cray_pgi_libtool_master.patch | 10 -- .../cray_pgi_libtool_release.patch | 26 ---- .../parallel-netcdf/nag_libtool.patch | 69 ---------- .../packages/parallel-netcdf/package.py | 17 --- 12 files changed, 593 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.2.patch delete mode 100644 var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.6.patch delete mode 100644 var/spack/repos/builtin/packages/openmpi/nag_pthread/1.10.4_1.10.999.patch delete mode 100644 var/spack/repos/builtin/packages/openmpi/nag_pthread/2.0.0_2.1.1.patch delete mode 100644 var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.2_2.1.3_3.0.0.patch delete mode 100644 var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.4_2.1.999_3.0.1_4.patch delete mode 100644 var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_master.patch delete mode 100644 var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_release.patch delete mode 100644 var/spack/repos/builtin/packages/parallel-netcdf/nag_libtool.patch diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.2.patch b/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.2.patch deleted file mode 100644 index 73fbdbd03b..0000000000 --- a/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.2.patch +++ /dev/null @@ -1,124 +0,0 @@ ---- a/configure -+++ b/configure -@@ -9584,6 +9584,10 @@ for cc_temp in $compiler""; do - esac - done - cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+case $cc_basename in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && cc_basename='nagfor-wrapper' ;; -+esac - - - # Only perform the check for file, if the check method requires it -@@ -10657,6 +10661,10 @@ _LT_EOF - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; -+ nagfor*) -+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' -+ compiler_needs_object=yes -+ tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; -@@ -13415,6 +13423,10 @@ $RM -r conftest* - esac - done - cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+case $cc_basename in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && cc_basename='nagfor-wrapper' ;; -+esac - - GCC=$G77 - if test -n "$compiler"; then -@@ -14252,6 +14264,10 @@ _LT_EOF - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; -+ nagfor*) -+ whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' -+ compiler_needs_object_F77=yes -+ tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; -@@ -16142,6 +16158,10 @@ $RM -r conftest* - esac - done - cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+case $cc_basename in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && cc_basename='nagfor-wrapper' ;; -+esac - - - if test -n "$compiler"; then -@@ -17142,6 +17162,10 @@ _LT_EOF - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; -+ nagfor*) -+ whole_archive_flag_spec_FC='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' -+ compiler_needs_object_FC=yes -+ tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -180,6 +180,24 @@ func_basename () - func_basename_result=`$ECHO "${1}" | $SED "$basename"` - } # func_basename may be replaced by extended shell implementation - -+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -+func_cc_basename () -+{ -+ for cc_temp in $*""; do -+ case $cc_temp in -+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; -+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; -+ \-*) ;; -+ *) break;; -+ esac -+ done -+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+ case $func_cc_basename_result in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && func_cc_basename_result='nagfor-wrapper' ;; -+ esac -+} -+ - - # func_dirname_and_basename file append nondir_replacement - # perform func_basename and func_dirname in a single function -@@ -6422,6 +6440,13 @@ func_mode_link () - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8007,6 +8032,14 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.6.patch b/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.6.patch deleted file mode 100644 index dfb47fd5f2..0000000000 --- a/var/spack/repos/builtin/packages/netcdf-fortran/nag_libtool_2.4.6.patch +++ /dev/null @@ -1,96 +0,0 @@ ---- a/configure -+++ b/configure -@@ -9034,6 +9034,12 @@ func_cc_basename () - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+ -+ # Set result to 'nagfor-wrapper' when NAG compiler is called via a wrapper (e.g. mpif90). -+ case $func_cc_basename_result in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && func_cc_basename_result='nagfor-wrapper' ;; -+ esac - } - - # Check whether --enable-libtool-lock was given. -@@ -11811,6 +11817,8 @@ _LT_EOF - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' -@@ -15663,6 +15671,8 @@ _LT_EOF - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object_F77=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' -@@ -18788,6 +18798,8 @@ _LT_EOF - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object_FC=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' -@@ -26086,6 +26098,12 @@ func_cc_basename () - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -+ -+ # Set result to 'nagfor-wrapper' when NAG compiler is called via a wrapper (e.g. mpif90). -+ case $func_cc_basename_result in -+ nagfor*) ;; -+ *) $cc_temp -V 2>&1 | $GREP '^NAG Fortran Compiler Release' >/dev/null 2>&1 && func_cc_basename_result='nagfor-wrapper' ;; -+ esac - } - - ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -7868,6 +7868,13 @@ func_mode_link () - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8890,7 +8897,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9502,6 +9510,14 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/package.py b/var/spack/repos/builtin/packages/netcdf-fortran/package.py index 7ff5cda24e..e11b1a819b 100644 --- a/var/spack/repos/builtin/packages/netcdf-fortran/package.py +++ b/var/spack/repos/builtin/packages/netcdf-fortran/package.py @@ -37,14 +37,6 @@ class NetcdfFortran(AutotoolsPackage): depends_on("netcdf-c@4.7.4:", when="@4.5.3:") # nc_def_var_szip required depends_on("doxygen", when="+doc", type="build") - # The default libtool.m4 is too old to handle NAG compiler properly: - # https://github.com/Unidata/netcdf-fortran/issues/94 - # Moreover, Libtool can't handle '-pthread' flag coming from libcurl, - # doesn't inject convenience libraries into the shared ones, and is unable - # to detect NAG when it is called with an MPI wrapper. - patch("nag_libtool_2.4.2.patch", when="@:4.4.4%nag") - patch("nag_libtool_2.4.6.patch", when="@4.4.5:%nag") - # Enable 'make check' for NAG, which is too strict. patch("nag_testing.patch", when="@4.4.5%nag") @@ -136,54 +128,6 @@ def configure_args(self): return config_args - @run_after("configure") - def patch_libtool(self): - """AOCC support for NETCDF-F""" - if "%aocc" in self.spec: - # Libtool does not fully support the compiler toolchain, therefore - # we have to patch the script. The C compiler normally gets - # configured correctly, the variables of interest in the - # 'BEGIN LIBTOOL CONFIG' section are set to non-empty values and, - # therefore, are not affected by the replacements below. A more - # robust solution would be to extend the filter_file function with - # an additional argument start_at and perform the replacements - # between the '# ### BEGIN LIBTOOL TAG CONFIG: FC' and - # '# ### END LIBTOOL TAG CONFIG: FC' markers for the Fortran - # compiler, and between the '# ### BEGIN LIBTOOL TAG CONFIG: F77' - # and '# ### END LIBTOOL TAG CONFIG: F77' markers for the Fortran 77 - # compiler. - - # How to pass a linker flag through the compiler: - filter_file(r'^wl=""$', 'wl="{0}"'.format(self.compiler.linker_arg), "libtool") - - # Additional compiler flags for building library objects (we need - # this to enable shared libraries when building with ~pic). Note - # that the following will set fc_pic_flag for both FC and F77, which - # in the case of AOCC, should not be a problem. If it is, the - # aforementioned modification of the filter_file function could be - # a solution. - filter_file( - r'^pic_flag=""$', 'pic_flag=" {0}"'.format(self.compiler.fc_pic_flag), "libtool" - ) - - # The following is supposed to tell the compiler to use the GNU - # linker. However, the replacement does not happen (at least for - # NetCDF-Fortran 4.5.3) because the replaced substring (i.e. the - # first argument passed to the filter_file function) is not present - # in the file. The flag should probably be added to 'ldflags' in the - # flag_handler method above (another option is to add the flag to - # 'ldflags' in compilers.yaml automatically as it was done for other - # flags in https://github.com/spack/spack/pull/22219). - filter_file( - r"\${wl}-soname \$wl\$soname", - r"-fuse-ld=ld -Wl,-soname,\$soname", - "libtool", - string=True, - ) - - # TODO: resolve the NAG-related issues in a similar way: remove the - # respective patch files and tune the generated libtool script instead. - @when("@:4.4.5") def check(self): with working_dir(self.build_directory): diff --git a/var/spack/repos/builtin/packages/openmpi/nag_pthread/1.10.4_1.10.999.patch b/var/spack/repos/builtin/packages/openmpi/nag_pthread/1.10.4_1.10.999.patch deleted file mode 100644 index 82bdb9f752..0000000000 --- a/var/spack/repos/builtin/packages/openmpi/nag_pthread/1.10.4_1.10.999.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/config/ltmain.sh -+++ b/config/ltmain.sh -@@ -7860,14 +7860,15 @@ func_mode_link () - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" -- # and "-pthread" to "-Wl,-pthread" if NAG compiler - if test -n "$inherited_linker_flags"; then -- case "$CC" in -- nagfor*) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread/-Wl,-pthread'`;; -- *) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; -- esac -+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8887,7 +8888,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9499,6 +9501,13 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.0.0_2.1.1.patch b/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.0.0_2.1.1.patch deleted file mode 100644 index 0d4250001a..0000000000 --- a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.0.0_2.1.1.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/config/ltmain.sh -+++ b/config/ltmain.sh -@@ -7862,6 +7862,13 @@ func_mode_link () - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8881,7 +8888,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9493,6 +9501,13 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.2_2.1.3_3.0.0.patch b/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.2_2.1.3_3.0.0.patch deleted file mode 100644 index af1b600039..0000000000 --- a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.2_2.1.3_3.0.0.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/config/ltmain.sh -+++ b/config/ltmain.sh -@@ -7860,14 +7860,15 @@ func_mode_link () - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" -- # and "-pthread" to "-Wl,-pthread" if NAG compiler - if test -n "$inherited_linker_flags"; then -- case "$CC" in -- nagfor*) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread/-Wl,-pthread/g'`;; -- *) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; -- esac -+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8887,7 +8888,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9499,6 +9501,13 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.4_2.1.999_3.0.1_4.patch b/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.4_2.1.999_3.0.1_4.patch deleted file mode 100644 index 3d20169718..0000000000 --- a/var/spack/repos/builtin/packages/openmpi/nag_pthread/2.1.4_2.1.999_3.0.1_4.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/config/ltmain.sh -+++ b/config/ltmain.sh -@@ -7860,14 +7860,15 @@ func_mode_link () - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" -- # and "-pthread" to "-Wl,-pthread" if NAG compiler - if test -n "$inherited_linker_flags"; then -- case "$CC" in -- *nagfor*) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread/-Wl,-pthread/g'`;; -- *) -- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; -- esac -+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8887,7 +8888,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9499,6 +9501,13 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index ef27fb35b7..0d4ff14144 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -382,14 +382,6 @@ class Openmpi(AutotoolsPackage, CudaPackage): patch("btl_vader.patch", when="@3.0.1:3.0.2") patch("btl_vader.patch", when="@3.1.0:3.1.2") - # Make NAG compiler pass the -pthread option to the linker: - # https://github.com/open-mpi/ompi/pull/6378 - # We support only versions based on Libtool 2.4.6. - patch("nag_pthread/2.1.4_2.1.999_3.0.1_4.patch", when="@2.1.4:2.1,3.0.1:4%nag") - patch("nag_pthread/2.1.2_2.1.3_3.0.0.patch", when="@2.1.2:2.1.3,3.0.0%nag") - patch("nag_pthread/2.0.0_2.1.1.patch", when="@2.0.0:2.1.1%nag") - patch("nag_pthread/1.10.4_1.10.999.patch", when="@1.10.4:1.10%nag") - # Fix MPI_Sizeof() in the "mpi" Fortran module for compilers that do not # support "IGNORE TKR" functionality (e.g. NAG). # The issue has been resolved upstream in two steps: diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_master.patch b/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_master.patch deleted file mode 100644 index dab9381be6..0000000000 --- a/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_master.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -5282,7 +5282,6 @@ _LT_EOF - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler -- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_release.patch b/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_release.patch deleted file mode 100644 index dcf34ee962..0000000000 --- a/var/spack/repos/builtin/packages/parallel-netcdf/cray_pgi_libtool_release.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/configure -+++ b/configure -@@ -11858,7 +11858,6 @@ _LT_EOF - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler -- whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) -@@ -21326,7 +21325,6 @@ _LT_EOF - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler -- whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) -@@ -25066,7 +25064,6 @@ _LT_EOF - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler -- whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/nag_libtool.patch b/var/spack/repos/builtin/packages/parallel-netcdf/nag_libtool.patch deleted file mode 100644 index f391c1dc5e..0000000000 --- a/var/spack/repos/builtin/packages/parallel-netcdf/nag_libtool.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/configure -+++ b/configure -@@ -11745,6 +11745,8 @@ _LT_EOF - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' -@@ -21030,6 +21032,8 @@ _LT_EOF - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object_F77=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' -@@ -24765,6 +24769,8 @@ _LT_EOF - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 -+ whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' -+ compiler_needs_object_FC=yes - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' ---- a/scripts/ltmain.sh -+++ b/scripts/ltmain.sh -@@ -7862,6 +7862,13 @@ func_mode_link () - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` -+ -+ # Additionally convert " -pthread" to " -Wl,-pthread" for nagfor -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) tmp_inherited_linker_flags=`$ECHO "$tmp_inherited_linker_flags" | $SED 's/ -pthread/ -Wl,-pthread/g'` ;; -+ esac -+ - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; -@@ -8881,7 +8888,8 @@ func_mode_link () - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers -- case $CC in -+ func_cc_basename $CC -+ case $func_cc_basename_result in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; -@@ -9493,6 +9501,13 @@ EOF - ;; - esac - -+ # Time to revert the changes made for nagfor. -+ func_cc_basename $CC -+ case $func_cc_basename_result in -+ nagfor*) -+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% -Wl,-pthread% -pthread%g'` ;; -+ esac -+ - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py index 65c54c4fc5..879787eab1 100644 --- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py +++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py @@ -79,23 +79,6 @@ def url_for_version(self, version): # (see below). conflicts("+shared", when="@:1.9%nag+fortran") - # https://github.com/Parallel-NetCDF/PnetCDF/pull/59 - patch("nag_libtool.patch", when="@1.9:1.12.1%nag") - - # We could apply the patch unconditionally. However, it fixes a problem - # that manifests itself only when we build shared libraries with Spack on - # a Cray system with PGI compiler. Based on the name of the $CC executable, - # Libtool "thinks" that it works with PGI compiler directly but on a Cray - # system it actually works with the Cray's wrapper. PGI compiler (at least - # since the version 15.7) "understands" two formats of the - # '--whole-archive' argument. Unluckily, Cray's wrapper "understands" only - # one of them but Libtool switches to another one. The following patch - # discards the switching. - patch("cray_pgi_libtool_release.patch", when="@1.8:999%pgi+shared platform=cray") - # Given that the bug manifests itself in rather specific conditions, it is - # not reported upstream. - patch("cray_pgi_libtool_master.patch", when="@master%pgi+shared platform=cray") - @property def libs(self): libraries = ["libpnetcdf"]