Skip to content
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
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ release=0
# PRRTE required dependency versions.
# List in x.y.z format.

pmix_min_version=6.0.1
pmix_min_version=6.1.0
hwloc_min_version=2.1.0
pmix_max_version=1000.0.0
hwloc_min_version=1.11.0
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
# Copyright (c) 2018-2022 Amazon.com, Inc. or its affiliates.
# All Rights reserved.
# Copyright (c) 2021-2025 Nanook Consulting All rights reserved.
# Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
# Copyright (c) 2021 FUJITSU LIMITED. All rights reserved.
# Copyright (c) 2023-2024 Jeffrey M. Squyres. All rights reserved.
# $COPYRIGHT$
Expand Down Expand Up @@ -554,7 +554,7 @@ PRTE_SEARCH_LIBS_CORE([socket], [socket])
# Darwin doesn't need -lm, as it's a symlink to libSystem.dylib
PRTE_SEARCH_LIBS_CORE([ceil], [m])

AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf fork setsid strsignal syslog setpgid fileno_unlocked])
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf fork setsid strsignal syslog setpgid fileno_unlocked isatty])

# On some hosts, htonl is a define, so the AC_CHECK_FUNC will get
# confused. On others, it's in the standard library, but stubbed with
Expand Down
126 changes: 116 additions & 10 deletions docs/man/man1/prte_info.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,133 @@
prte_info
=========

prte_info |mdash| Provide detailed information on your PRRTE installation
.. include_body

prte_info |mdash| Display information about the PRRTE installation

SYNOPSIS
--------

.. code:: sh
``prte_info [options]``

prte_info ...options...

DESCRIPTION
-----------

``prte_info`` provide detailed information on your PMIx Reference Run
Time (PRRTE) installation.
``prte_info`` provides detailed information about the PRRTE
installation. It can be useful for at least three common scenarios:

#. Checking local configuration and seeing how PRRTE was installed.

#. Submitting bug reports / help requests to the PRRTE community
(see :doc:`Getting help </getting-help>`).

#. Seeing a list of installed PRRTE plugins and querying what MCA
parameters they support.


OPTIONS
-------

``prte_info`` accepts the following options:

* ``-h`` | ``--help <arg0>``: Show help message. If the optional
argument is not provided, then a generalized help message similar
to the information provided here is returned. If an argument is
provided, then a more detailed help message for that specific
command line option is returned.

* ``-v`` | ``--verbose``: Enable debug output.

* ``-V`` | ``--version``: Print version and exit.

* ``-a`` | ``--all``: Show all configuration options and MCA
parameters.

* ``--arch``: Show architecture on which PRRTE was compiled.

* ``-c`` | ``--config``: Show configuration options

* ``--hostname``: Show the hostname on which PRRTE was configured
and built.

* ``--internal``: Show internal MCA parameters (not meant to be
modified by users).

* ``--param <arg0>:<arg1>,<arg2>``: Show MCA parameters. The first
parameter is the framework (or the keyword "all"); the second parameter
is a comma-delimited list of specific component names (if only <arg0>
is given, then all components will be reported).

* ``--path <type>``: Show paths that PRRTE was configured
with. Accepts the following parameters: ``all``, ``prefix``, ``bindir``,
``libdir``, ``incdir``, ``pkglibdir``, ``sysconfdir``.

* ``--pretty-print``: When used in conjunction with other parameters, the output is
displayed in "prettyprint" format (default)

* ``--parsable``: When used in conjunction with other parameters, the output is
displayed in a machine-parsable format

* ``--parseable``: Synonym for ``--parsable``

* ``--color <hue>``: Control color coding: auto (default), never, always

* ``--show-failed``: Show the components that failed to load along with the reason why they failed

* ``--selected-only``: Show only variables from selected components.


EXIT STATUS
-----------

Returns 0 if successful, non-zero if an error is encountered

EXAMPLES
--------

Examples of using this command.

Show the default output of options and listing of installed
components in a human-readable / prettyprint format:

.. code-block::

prte_info

Show the default output of options and listing of installed components
in a machine-parsable format:

.. code-block::

prte_info --parsable

Show the MCA parameters of the "lsf" RMAPS component in a
human-readable / prettyprint format:

.. code-block::

prte_info --param rmaps lsf

Show the "bindir" that PRRTE was configured with:

.. code-block::

prte_info --path bindir

Show the version of PRRTE version numbers in a prettyprint format:

.. code-block::

prte_info --version

Show *all* information about the PRRTE installation, including all
components that can be found, all the MCA parameters that they support,
versions of PRRTE and the components, etc.:

Extensive help documentation for this command is provided through
``prte_info --help [topic]``.
.. code-block::

At least for now, that content is not available in man page form.
Pull requests to add all the content (via repeatable infrastructure)
would be greatly appreciated.
prte_info --all

.. seealso::
:ref:`prte(1) <man1-prte>`
24 changes: 12 additions & 12 deletions src/mca/prteinstalldirs/base/prteinstalldirs_base_components.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Copyright (c) 2015-2019 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2019-2020 Intel, Inc. All rights reserved.
* Copyright (c) 2021-2022 Nanook Consulting. All rights reserved.
* Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -23,7 +23,7 @@
#include "src/mca/prteinstalldirs/base/static-components.h"
#include "src/mca/prteinstalldirs/prteinstalldirs.h"

prte_install_dirs_t prte_install_dirs = {0};
pmix_pinstall_dirs_t prte_install_dirs = {0};

#define CONDITIONAL_COPY(target, origin, field) \
do { \
Expand Down Expand Up @@ -63,9 +63,9 @@ static int prte_prteinstalldirs_base_open(pmix_mca_base_open_flag_t flags)
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, includedir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, infodir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, mandir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, prtedatadir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, prtelibdir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, prteincludedir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, pmixdatadir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, pmixlibdir);
CONDITIONAL_COPY(prte_install_dirs, component->install_dirs_data, pmixincludedir);
}

/* expand out all the fields */
Expand All @@ -85,10 +85,10 @@ static int prte_prteinstalldirs_base_open(pmix_mca_base_open_flag_t flags)
prte_install_dirs.includedir = prte_install_dirs_expand_setup(prte_install_dirs.includedir);
prte_install_dirs.infodir = prte_install_dirs_expand_setup(prte_install_dirs.infodir);
prte_install_dirs.mandir = prte_install_dirs_expand_setup(prte_install_dirs.mandir);
prte_install_dirs.prtedatadir = prte_install_dirs_expand_setup(prte_install_dirs.prtedatadir);
prte_install_dirs.prtelibdir = prte_install_dirs_expand_setup(prte_install_dirs.prtelibdir);
prte_install_dirs.prteincludedir = prte_install_dirs_expand_setup(
prte_install_dirs.prteincludedir);
prte_install_dirs.pmixdatadir = prte_install_dirs_expand_setup(prte_install_dirs.pmixdatadir);
prte_install_dirs.pmixlibdir = prte_install_dirs_expand_setup(prte_install_dirs.pmixlibdir);
prte_install_dirs.pmixincludedir = prte_install_dirs_expand_setup(
prte_install_dirs.pmixincludedir);

#if 0
fprintf(stderr, "prefix: %s\n", prte_install_dirs.prefix);
Expand Down Expand Up @@ -132,9 +132,9 @@ static int prte_prteinstalldirs_base_close(void)
free(prte_install_dirs.includedir);
free(prte_install_dirs.infodir);
free(prte_install_dirs.mandir);
free(prte_install_dirs.prtedatadir);
free(prte_install_dirs.prtelibdir);
free(prte_install_dirs.prteincludedir);
free(prte_install_dirs.pmixdatadir);
free(prte_install_dirs.pmixlibdir);
free(prte_install_dirs.pmixincludedir);
memset(&prte_install_dirs, 0, sizeof(prte_install_dirs));

return pmix_mca_base_framework_components_close(&prte_prteinstalldirs_base_framework, NULL);
Expand Down
8 changes: 4 additions & 4 deletions src/mca/prteinstalldirs/base/prteinstalldirs_base_expand.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Copyright (c) 2010 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
* Copyright (c) 2018-2020 Intel, Inc. All rights reserved.
* Copyright (c) 2021-2022 Nanook Consulting. All rights reserved.
* Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -142,9 +142,9 @@ static char *prte_install_dirs_expand_internal(const char *input, bool is_setup)
EXPAND_STRING(includedir);
EXPAND_STRING(infodir);
EXPAND_STRING(mandir);
EXPAND_STRING2(prtedatadir, pkgdatadir);
EXPAND_STRING2(prtelibdir, pkglibdir);
EXPAND_STRING2(prteincludedir, pkgincludedir);
EXPAND_STRING2(pmixdatadir, pkgdatadir);
EXPAND_STRING2(pmixlibdir, pkglibdir);
EXPAND_STRING2(pmixincludedir, pkgincludedir);
} while (changed);
}

Expand Down
4 changes: 3 additions & 1 deletion src/mca/prteinstalldirs/config/prte_installdirs_config.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Copyright (c) 2019 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2020 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2021-2025 Nanook Consulting All rights reserved.
* Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -31,6 +31,8 @@ const prte_prteinstalldirs_base_component_t prte_mca_prteinstalldirs_config_comp

},

/* Next the pmix_install_dirs_t install_dirs_data information */
.install_dirs_data =
{
PRTE_PREFIX,
PRTE_EXEC_PREFIX,
Expand Down
16 changes: 8 additions & 8 deletions src/mca/prteinstalldirs/env/prte_installdirs_env.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Copyright (c) 2019-2020 Intel, Inc. All rights reserved.
* Copyright (c) 2019 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2021-2025 Nanook Consulting All rights reserved.
* Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -37,7 +37,7 @@ prte_prteinstalldirs_base_component_t prte_mca_prteinstalldirs_env_component = {
/* Component open and close functions */
.pmix_mca_open_component = prteinstalldirs_env_open
},
/* Next the prte_install_dirs_t install_dirs_data information */
/* Next the pmix_install_dirs_t install_dirs_data information */
.install_dirs_data =
{
.prefix = NULL,
Expand All @@ -54,9 +54,9 @@ prte_prteinstalldirs_base_component_t prte_mca_prteinstalldirs_env_component = {
.includedir = NULL,
.infodir = NULL,
.mandir = NULL,
.prtedatadir = NULL,
.prtelibdir = NULL,
.prteincludedir = NULL,
.pmixdatadir = NULL,
.pmixlibdir = NULL,
.pmixincludedir = NULL,
},
};
PMIX_MCA_BASE_COMPONENT_INIT(prte, prteinstalldirs, env)
Expand Down Expand Up @@ -86,9 +86,9 @@ static int prteinstalldirs_env_open(void)
SET_FIELD(includedir, "PRTE_INCLUDEDIR");
SET_FIELD(infodir, "PRTE_INFODIR");
SET_FIELD(mandir, "PRTE_MANDIR");
SET_FIELD(prtedatadir, "PRTE_PKGDATADIR");
SET_FIELD(prtelibdir, "PRTE_PKGLIBDIR");
SET_FIELD(prteincludedir, "PRTE_PKGINCLUDEDIR");
SET_FIELD(pmixdatadir, "PRTE_PKGDATADIR");
SET_FIELD(pmixlibdir, "PRTE_PKGLIBDIR");
SET_FIELD(pmixincludedir, "PRTE_PKGINCLUDEDIR");

return PRTE_SUCCESS;
}
32 changes: 4 additions & 28 deletions src/mca/prteinstalldirs/prteinstalldirs.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* reserved.
* Copyright (c) 2019-2020 Intel, Inc. All rights reserved.
* Copyright (c) 2020 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2021-2023 Nanook Consulting. All rights reserved.
* Copyright (c) 2021-2026 Nanook Consulting All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -19,37 +19,13 @@

#include "src/pmix/pmix-internal.h"
#include "src/mca/base/pmix_base.h"
#include "src/mca/pinstalldirs/pinstalldirs_types.h"
#include "src/mca/mca.h"

BEGIN_C_DECLS

/*
* Most of this file is just for ompi_info. The only public interface
* once prte_init has been called is the prte_install_dirs structure
* and the prte_install_dirs_expand() call */
struct prte_install_dirs_t {
char *prefix;
char *exec_prefix;
char *bindir;
char *sbindir;
char *libexecdir;
char *datarootdir;
char *datadir;
char *sysconfdir;
char *sharedstatedir;
char *localstatedir;
char *libdir;
char *includedir;
char *infodir;
char *mandir;
char *prtedatadir;
char *prtelibdir;
char *prteincludedir;
};
typedef struct prte_install_dirs_t prte_install_dirs_t;

/* Install directories. Only available after prte_init() */
PRTE_EXPORT extern prte_install_dirs_t prte_install_dirs;
PRTE_EXPORT extern pmix_pinstall_dirs_t prte_install_dirs;

/**
* Expand out path variables (such as ${prefix}) in the input string
Expand All @@ -63,7 +39,7 @@ struct prte_prteinstalldirs_base_component_2_0_0_t {
/** MCA base component */
pmix_mca_base_component_t component;
/** install directories provided by the given component */
prte_install_dirs_t install_dirs_data;
pmix_pinstall_dirs_t install_dirs_data;
};
/**
* Convenience typedef
Expand Down
Loading
Loading