diff --git a/config/ompi_deleted_options.m4 b/config/ompi_deleted_options.m4 new file mode 100644 index 0000000000..b6e75a3765 --- /dev/null +++ b/config/ompi_deleted_options.m4 @@ -0,0 +1,38 @@ +# -*- shell-script -*- +# +# Copyright (c) 2020 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +AC_DEFUN([OMPI_CHECK_DELETED_OPTIONS],[ + OPAL_VAR_SCOPE_PUSH([with_pmi_given with_pmi_libdir_given cxx]) + + # --with-pmi options were removed in v5.0 + AC_ARG_WITH([pmi], + [AC_HELP_STRING([--with-pmi(=DIR)], + [*DELETED* Build PMI support, optionally adding DIR to the search path (default: no)])], + [with_pmi_given=yes]) + + AC_ARG_WITH([pmi-libdir], + [AC_HELP_STRING([--with-pmi-libdir=DIR], + [*DELETED* Look for libpmi or libpmi2 in the given directory DIR, DIR/lib or DIR/lib64])], + [with_pmi_libdir_given=yes]) + + if test "$with_pmi_given" = "yes" || test "$with_pmi_libdir_given" = "yes"; then + AC_MSG_WARN([Open MPI no longer supports PMI-1 or PMI-2 libraries.]) + AC_MSG_WARN([PMIx is now required. Either the internal version or an]) + AC_MSG_WARN([external version of PMIx may be used, so long as the]) + AC_MSG_WARN([external version is compatible with the PMIx v2.2]) + AC_MSG_WARN([Standard or higher. Note that cross-version support]) + AC_MSG_WARN([within the OpenPMIx library can be used by this OMPI]) + AC_MSG_WARN([to interact with environments based on other PMIx]) + AC_MSG_WARN([versions.]) + AC_MSG_ERROR([Build cannot continue.]) + fi + + OPAL_VAR_SCOPE_POP +]) diff --git a/config/ompi_deprecated_options.m4 b/config/ompi_deprecated_options.m4 index 17f10152bb..8dd042613c 100644 --- a/config/ompi_deprecated_options.m4 +++ b/config/ompi_deprecated_options.m4 @@ -9,28 +9,25 @@ # AC_DEFUN([OMPI_CHECK_DEPRECATED_OPTIONS],[ - OPAL_VAR_SCOPE_PUSH(with_pmi_given with_pmi_libdir_given) + OPAL_VAR_SCOPE_PUSH([enable_orterun_prefix_given]) - AC_ARG_WITH([pmi], - [AC_HELP_STRING([--with-pmi(=DIR)], - [*DEPRECATED* Build PMI support, optionally adding DIR to the search path (default: no)])], - [with_pmi_given=yes]) + # --enable-orterun-prefix-by-default was deprecated in v5 in favor of --enable-prte-prefix-by-default + AC_ARG_ENABLE([orterun-prefix-by-default], + [AC_HELP_STRING([--enable-orterun-prefix-by-default], + [*DEPRECATED* Please use --enable-prte-prefix-by-default in the future)])], + [enable_orterun_prefix_given=yes]) + AC_ARG_ENABLE([mpirun-prefix-by-default], + [AC_HELP_STRING([--enable-mpirun-prefix-by-default], + [*DEPRECATED* Please use --enable-prte-prefix-by-default in the future])], + [enable_orterun_prefix_given=yes]) - AC_ARG_WITH([pmi-libdir], - [AC_HELP_STRING([--with-pmi-libdir=DIR], - [*DEPRECATED* Look for libpmi or libpmi2 in the given directory DIR, DIR/lib or DIR/lib64])], - [with_pmi_libdir_given=yes]) - - if test "$with_pmi_given" = "yes" || test "$with_pmi_libdir_given" = "yes"; then - AC_MSG_WARN([Open MPI no longer supports PMI-1 or PMI-2 libraries.]) - AC_MSG_WARN([PMIx is now required. Either the internal version or an]) - AC_MSG_WARN([external version of PMIx may be used, so long as the]) - AC_MSG_WARN([external version is compatible with the PMIx v2.2]) - AC_MSG_WARN([Standard or higher. Note that cross-version support]) - AC_MSG_WARN([within the OpenPMIx library can be used by this OMPI]) - AC_MSG_WARN([to interact with environments based on other PMIx]) - AC_MSG_WARN([versions.]) - AC_MSG_ERROR([Build cannot continue.]) + if test "$enable_orterun_prefix_given" = "yes"; then + AC_MSG_WARN([Open MPI no longer uses the ORTE environment - it has been]) + AC_MSG_WARN([replaced by PRRTE. Accordingly, the "--enable-orterun-prefix-by-default"]) + AC_MSG_WARN([and "--enable-mpirun-prefix-by-default" options have been replaced]) + AC_MSG_WARN([by "--enable-prte-prefix-by-default". We will do the translation for]) + AC_MSG_WARN([you now, but these older options are deprecated and will be removed]) + AC_MSG_WARN([in a later release, so please update your build scripts.]) fi OPAL_VAR_SCOPE_POP diff --git a/config/ompi_setup_prrte.m4 b/config/ompi_setup_prrte.m4 index 9f55237ddc..3871440a0f 100644 --- a/config/ompi_setup_prrte.m4 +++ b/config/ompi_setup_prrte.m4 @@ -42,6 +42,10 @@ AC_DEFUN([OMPI_SETUP_PRRTE],[ [AC_HELP_STRING([--with-prrte-platform], [Platform file to use when building the internal PRRTE runtime support])]) + AC_ARG_ENABLE([prte-prefix-by-default], + [AC_HELP_STRING([--enable-prte-prefix-by-default], + [Make "mpirun ..." behave exactly the same as "mpirun --prefix \$prefix" (where \$prefix is the value given to --prefix in configure) (default:enabled)])]) + AC_MSG_CHECKING([if RTE support is enabled]) if test "$enable_internal_rte" != "no"; then AC_MSG_RESULT([yes]) @@ -70,7 +74,14 @@ AC_DEFUN([OMPI_SETUP_PRRTE],[ opal_prrte_pmix_arg="--with-pmix=$with_pmix" fi - opal_prrte_args="--prefix=$prefix --disable-dlopen $opal_prrte_libevent_arg $opal_prrte_hwloc_arg $opal_prrte_pmix_arg" + if test -z $enable_prte_prefix_by_default || test "$enable_prte_prefix_by_default" = "yes" || + test "$enable_orterun_prefix_given" = "yes"; then + opal_prrte_prefix_arg="--enable-prte-prefix-by-default" + else + opal_prrte_prefix_arg= + fi + + opal_prrte_args="--prefix=$prefix --disable-dlopen $opal_prrte_prefix_arg $opal_prrte_libevent_arg $opal_prrte_hwloc_arg $opal_prrte_pmix_arg" AS_IF([test "$enable_debug" = "yes"], [opal_prrte_args="--enable-debug $opal_prrte_args" CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"], diff --git a/configure.ac b/configure.ac index ff4b88c1f3..83e131d50b 100644 --- a/configure.ac +++ b/configure.ac @@ -192,7 +192,8 @@ if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then AC_MSG_NOTICE([Detected VPATH build]) fi -# Check for deprecated options +# Check for deprecated/deleted options +OMPI_CHECK_DELETED_OPTIONS OMPI_CHECK_DEPRECATED_OPTIONS # Setup the top of the opal/include/opal_config.h file