Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable devel-check by default in Git repos #1977

Merged
merged 2 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
75 changes: 41 additions & 34 deletions config/prte_configure_options.m4
Original file line number Diff line number Diff line change
Expand Up @@ -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$
Expand All @@ -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?
#
Expand All @@ -51,26 +62,49 @@ 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
#

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
Expand Down Expand Up @@ -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?
#
Expand Down
8 changes: 7 additions & 1 deletion config/prte_summary.m4
Original file line number Diff line number Diff line change
Expand Up @@ -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$
Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions src/mca/plm/base/plm_base_frame.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion src/prted/pmix/pmix_server_group.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {

Expand Down Expand Up @@ -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;
Expand Down
5 changes: 0 additions & 5 deletions src/runtime/prte_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading