diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml index 099a95e37b..55d8739f1a 100644 --- a/.github/workflows/builds.yaml +++ b/.github/workflows/builds.yaml @@ -55,6 +55,45 @@ jobs: make install make uninstall + ubuntuClang: + runs-on: ubuntu-latest + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends software-properties-common libhwloc-dev libevent-dev clang + - name: Git clone OpenPMIx + uses: actions/checkout@v3 + with: + submodules: recursive + repository: openpmix/openpmix + path: openpmix/master + ref: master + - name: Build OpenPMIx + run: | + cd openpmix/master + ./autogen.pl + CC=clang ./configure --prefix=$RUNNER_TEMP/pmixinstall + make -j + make install + - name: Git clone PRRTE + uses: actions/checkout@v3 + with: + submodules: recursive + clean: false + - name: Build PRRTE + run: | + ./autogen.pl + + pip3 install -r docs/requirements.txt + sphinx=--enable-sphinx + + c=./configure + CC=clang $c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx + make -j + make install + make uninstall + distcheck: runs-on: ubuntu-latest steps: diff --git a/config/prte_configure_options.m4 b/config/prte_configure_options.m4 index 8880ff85ad..9f768e58a8 100644 --- a/config/prte_configure_options.m4 +++ b/config/prte_configure_options.m4 @@ -18,7 +18,7 @@ dnl reserved. dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved. dnl dnl Copyright (c) 2016-2020 Intel, Inc. All rights reserved. -dnl Copyright (c) 2021-2023 Nanook Consulting All rights reserved. +dnl Copyright (c) 2021-2024 Nanook Consulting All rights reserved. dnl Copyright (c) 2022 Amazon.com, Inc. or its affiliates. dnl All Rights reserved. dnl $COPYRIGHT$ @@ -32,6 +32,17 @@ dnl AC_DEFUN([PRTE_CONFIGURE_OPTIONS],[ prte_show_subtitle "PRTE Configuration options" +# A hint to tell us if we are working with a build from Git or a tarball. +# Helpful when preparing diagnostic output. +if test -e $PRTE_TOP_SRCDIR/.git; then + AC_DEFINE_UNQUOTED([PRTE_GIT_REPO_BUILD], ["1"], + [If built from a git repo]) + prte_git_repo_build=yes +else + prte_git_repo_build=no +fi + + # # Do we want prte's --prefix behavior to be enabled by default? # @@ -51,15 +62,32 @@ AC_DEFINE_UNQUOTED([PRTE_WANT_PRTE_PREFIX_BY_DEFAULT], [Whether we want prte to effect "--prefix $prefix" by default]) # -# Is this a developer copy? +# Developer debugging # - -if test -d .git; then - PRTE_DEVEL=1 +AC_MSG_CHECKING([if want developer-level debugging code]) +AC_ARG_ENABLE(debug, + AS_HELP_STRING([--enable-debug], + [enable developer-level debugging code (not for general MPI users!) (default: disabled)])) +if test "$enable_debug" = "yes"; then + AC_MSG_RESULT([yes]) + WANT_DEBUG=1 else - PRTE_DEVEL=0 + AC_MSG_RESULT([no]) + WANT_DEBUG=0 fi + +if test "$WANT_DEBUG" = "0"; then + CFLAGS="-DNDEBUG $CFLAGS" + CXXFLAGS="-DNDEBUG $CXXFLAGS" +fi +AC_DEFINE_UNQUOTED(PRTE_ENABLE_DEBUG, $WANT_DEBUG, + [Whether we want developer-level debugging code or not]) + +AC_ARG_ENABLE(debug-symbols, + AS_HELP_STRING([--disable-debug-symbols], + [Disable adding compiler flags to enable debugging symbols if --enable-debug is specified. For non-debugging builds, this flag has no effect.])) + # # Developer picky compiler options # @@ -67,10 +95,16 @@ fi AC_MSG_CHECKING([if want developer-level compiler pickyness]) AC_ARG_ENABLE(devel-check, AS_HELP_STRING([--enable-devel-check], - [enable developer-level compiler pickyness when building Open MPI (default: disabled)])) + [enable developer-level compiler pickyness when building PRRTE (default: disabled)])) if test "$enable_devel_check" = "yes"; then AC_MSG_RESULT([yes]) WANT_PICKY_COMPILER=1 +elif test "$enable_devel_check" = "no"; then + AC_MSG_RESULT([no]) + WANT_PICKY_COMPILER=0 +elif test "$prte_git_repo_build" = "yes" && test "$WANT_DEBUG" = "1"; then + AC_MSG_RESULT([yes]) + WANT_PICKY_COMPILER=1 else AC_MSG_RESULT([no]) WANT_PICKY_COMPILER=0 @@ -98,33 +132,6 @@ fi AC_DEFINE_UNQUOTED(PRTE_MEMORY_SANITIZERS, $WANT_MEMORY_SANITIZERS, [Whether or not we are using memory sanitizers]) -# -# Developer debugging -# -AC_MSG_CHECKING([if want developer-level debugging code]) -AC_ARG_ENABLE(debug, - AS_HELP_STRING([--enable-debug], - [enable developer-level debugging code (not for general MPI users!) (default: disabled)])) -if test "$enable_debug" = "yes"; then - AC_MSG_RESULT([yes]) - WANT_DEBUG=1 -else - AC_MSG_RESULT([no]) - WANT_DEBUG=0 -fi - - -if test "$WANT_DEBUG" = "0"; then - CFLAGS="-DNDEBUG $CFLAGS" - CXXFLAGS="-DNDEBUG $CXXFLAGS" -fi -AC_DEFINE_UNQUOTED(PRTE_ENABLE_DEBUG, $WANT_DEBUG, - [Whether we want developer-level debugging code or not]) - -AC_ARG_ENABLE(debug-symbols, - AS_HELP_STRING([--disable-debug-symbols], - [Disable adding compiler flags to enable debugging symbols if --enable-debug is specified. For non-debugging builds, this flag has no effect.])) - # # Do we want to install the internal devel headers? # diff --git a/config/prte_summary.m4 b/config/prte_summary.m4 index 4bb800e43a..c6743058a1 100644 --- a/config/prte_summary.m4 +++ b/config/prte_summary.m4 @@ -6,7 +6,7 @@ dnl Copyright (c) 2016-2023 Cisco Systems, Inc. All rights reserved. dnl Copyright (c) 2016 Research Organization for Information Science dnl and Technology (RIST). All rights reserved. dnl Copyright (c) 2018-2020 Intel, Inc. All rights reserved. -dnl Copyright (c) 2021 Nanook Consulting. All rights reserved. +dnl Copyright (c) 2021-2024 Nanook Consulting All rights reserved. dnl Copyright (c) 2022 Amazon.com, Inc. or its affiliates. dnl All Rights reserved. dnl $COPYRIGHT$ @@ -43,6 +43,12 @@ EOF echo "Debug build: yes" >&2 fi + if test $WANT_PICKY_COMPILER = 0 ; then + echo "Devel check enabled: no" >& 2 + else + echo "Devel check enabled: yes" >& 2 + fi + if test ! -z $with_prte_platform ; then echo "Platform file: $with_prte_platform" >&2 else diff --git a/src/mca/plm/base/plm_base_frame.c b/src/mca/plm/base/plm_base_frame.c index 23a41f7ddb..2e2725b5a5 100644 --- a/src/mca/plm/base/plm_base_frame.c +++ b/src/mca/plm/base/plm_base_frame.c @@ -219,6 +219,7 @@ static void launch_daemons(int fd, short args, void *cbdata) int rc; prte_job_map_t *map = NULL; prte_node_t *node; + PRTE_HIDE_UNUSED_PARAMS(fd, args); /* setup the virtual machine */ daemons = prte_get_job_data_object(PRTE_PROC_MY_NAME->nspace); diff --git a/src/prted/pmix/pmix_server_group.c b/src/prted/pmix/pmix_server_group.c index c3c952c736..c9f39fb0f4 100644 --- a/src/prted/pmix/pmix_server_group.c +++ b/src/prted/pmix/pmix_server_group.c @@ -242,6 +242,7 @@ static void local_complete(int sd, short args, void *cbdata) pmix_server_pset_t *pset; pmix_data_array_t *members; pmix_proc_t *p; + PRTE_HIDE_UNUSED_PARAMS(sd, args); if (PMIX_GROUP_CONSTRUCT == cd->op) { @@ -303,7 +304,6 @@ pmix_status_t pmix_server_group_fn(pmix_group_operation_t op, char *grpid, int rc; size_t i; bool assignID = false; - pmix_server_pset_t *pset; bool fence = false; bool force_local = false; pmix_proc_t *members = NULL; diff --git a/src/runtime/prte_init.c b/src/runtime/prte_init.c index 994b0cb0df..cfd3b165b7 100644 --- a/src/runtime/prte_init.c +++ b/src/runtime/prte_init.c @@ -110,11 +110,6 @@ pmix_nspace_t prte_nspace_wildcard = {0}; static bool util_initialized = false; static bool min_initialized = false; -#if PRTE_CC_USE_PRAGMA_IDENT -# pragma ident PRTE_IDENT_STRING -#elif PRTE_CC_USE_IDENT -# ident PRTE_IDENT_STRING -#endif const char prte_version_string[] = PRTE_IDENT_STRING; static bool check_exist(char *path)