As discussed, a feature is being added to libpsm2 to correctly handle
the case where the library is opened by multiple OMPI transports in the same
process. (For example, the OFI BTL and the PSM2 MTL).
* Improved error message to indicate required libpsm2 version.
* Adds a test at autogen/configure time for the existence of
PSM2_LIB_REFCOUNT_CAP.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Michael Heinz <michael.william.heinz@intel.com>
(cherry picked from commit f10305a49facec8daef24ac81a52207a3f4fb73f)
Keep all comments in the user-facing mpi.h.in as "old style" C
comments: /* */. This gives us maximum portability, just on the off
chance that a user's C compiler does not support //-style comments.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit d522c270373264aff0a7a2066bc3163b09e9a94b)
1. __STDC_VERSION__ isn't necessarily defined (e.g., by C++
compilers). So check to make sure it is defined before we actually
check the value.
2. If we're in C++11 (or later), use static_assert().
3. Split the static assert macro in two macros:
* THIS_SYMBOL_WAS_REMOVED_IN_MPI30(...): Insert a valid expression
(i.e., 0, because it's only used with MPI_Datatype values, and
since MPI_Datatype is a pointer, 0 is a valid RHS expression)
before invoking the static assert so that we don't get a syntax
error instead of the actual static assert error.
* THIS_FUNCTION_WAS_REMOVED_IN_MPI30(...): No need for the valid
expression; just invoke the assert functionality.
Also remove an errant "\".
Thanks to Constantine Khrulev and Martin Audet for identifying the
issue and suggesting to use C11's static_assert().
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 835f8f1834b8798a23ee0db6ad94315e30cb9be3)
* Adds the `schizo/jsm` component that detects if the process was
direct launched with IBM's Job Step Manager (JSM). JSM is a PMIx
enhanced runtime environment so flag it as such.
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
(cherry picked from commit 4f1de51371048085b86ee64e05849ad929c9f35c)
We have been bad about updating the NEWS file in master with all
the changes that have gone into the release branches. Patch up
NEWS with the changes from v3.0, v3.1, and v4.0 branches.
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
(cherry picked from commit 50765ae5a26f718c8840e65cb0cb813f4a65004b)
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
The NEWS file had a mix of ISO-8859-1 and UTF-8 encodings, which
was making a mess of decoding the non-ASCII characters in the
file. This patch unifies the NEWS file as a UTF-8 encoded file
and changes many of the places where we had ASCII-ified a persons
name.
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
(cherry picked from commit 2e23893f04ef30c598a23889a4242f8cf4a45238)
Cherry-pick was modified to fix one more ISO-8859-1 character that
was in the v4.0.x branch but not in the master branch.
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
These op codes used to be in bits/ipc.h but were removed in glibc in 2015
with a comment saying they should be defined in internal headers:
https://sourceware.org/bugzilla/show_bug.cgi?id=18560
and when glibc uses that syscall it seems to do so from its own definitions:
https://github.com/bminor/glibc/search?q=IPCOP_shmat&unscoped_q=IPCOP_shmat
So I think using #ifndef and defining them if they're not already defined
using the values from glibc is the best option.
At IBM it was the testing on redhat 8 that found this as an issue
(the opcodes being undefined on the system made the #define HAS_SHMDT
evaluate to false so intercept_shmat / intercept_shmdt were
left undefined so shmat/shmdt memory events went unintercepted).
(cherry picked from commit e8fab058dac7300569cb54b08e5500115f8bab8f)
Signed-off-by: Mark Allen <markalle@us.ibm.com>
correctly use strlen(char *) instead of sizeof(char *)
Thanks Georg Geiser for reporting this issue.
Refs. open-mpi/ompi#7772
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit c450b2140540a1f8eae1a6e6f9a22d17cd40e7d8)
* Want to make sure that the result from `wc` is trimmed of spaces,
so the `0` check returns properly
* Add a few more comments, and fix wording in the warning message.
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
* `libevent_core.so` contains the core functionality that we depend upon
- `libevent.so` library has been identified as the legacy target.
- `libevent_core.so` exists as far back as Libevent 2.0.5 (oldest supported by OMPI)
* `libevent_pthreads.so` can work with either `-levent` or `-levent_core`
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
* LSF ships a `libevent.so` that is no related to the `libevent.so`
shipped with Libevent.
* Add some checks to the configure logic to detect scenarios where this
conflict can be detected, and provide the user with a descriptive
warning message.
- When detected by `event/external` this is just a warning since
the internal component may be able to be used instead.
- This happens when the user supplies the LSF path via the
`LDFLAGS` envar instead of via `--with-lsf-libdir`.
- When detected by a LSF component and LSF was explicitly requested
then this becomes an error. Otherwise it will just print the warning
and that component will fail to build.
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
This commit adds a blurb to the README for v4.0.4, suggesting
that users of libmpi_usempif08.so skip over v4.0.3.
Much thanks to Jeff Squyres for help with wording.
Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
This commit bumps the so versions for libraries for v4.0.4.
This includes https://github.com/open-mpi/ompi/pull/7622 which fixes
an ABI break introduced in the use_f08 library in v4.0.3.
Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
* This should have been `LDFLAGS` not `LIBS`. Either works, but
`LDFLAGS` is more correct. We should also include `CPPFLAGS`
just in case the header is important to the check.
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
- added detection of new API into configuration
- added tag_send call implemented using new API
- added MPI_Send/MPI_Isend/MPI_Recv/MPI_Irecv implementations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 75bda25ddbeea18bb001f367a712dc72592e1e58)
The original configury check for lustre was ending up rpathing in /usr/lib64 in
the compiler wrapper scripts. This commit fixes that issue.
related to #7580
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
(cherry picked from commit ea690d008b92a0091b9e5245bf171d25a5ea0b52)
use -I$ompi_check_lustre_dir/include in order to correctly support
configure --with-lustre
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 7783e5ad09084caf684cfd9b2acf7bd79354074f)
The result of this test was previously and incorrectly ignored.
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 72d3e290848b6e70d4c1101c229cd53be6190c33)