Skip to content

Commit d593e5a

Browse files
author
Ralph Castain
committed
When we specify --with-devel-headers, we also emit a copy of libpmix. However, that library was built against the OPAL libevent component, which means all the libevent functions are prefixed with OPAL names. So ensure that the emitted libpmix is linked back against libopen-pal so those symbols will be resolved.
Signed-off-by: Ralph Castain <[email protected]>
1 parent d168a1e commit d593e5a

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

opal/mca/pmix/pmix2x/configure.m4

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
2929
AC_CONFIG_FILES([opal/mca/pmix/pmix2x/Makefile])
3030

31-
OPAL_VAR_SCOPE_PUSH([PMIX_VERSION opal_pmix_pmix2x_save_CPPFLAGS opal_pmix_pmix2_save_CFLAGS opal_pmix_pmix2x_save_LDFLAGS opal_pmix_pmix2x_save_LIBS opal_pmix_pmix2x_basedir opal_pmix_pmix2x_args opal_pmix_pmix2x_happy opal_pmix_pmix2x_sm_flag pmix_pmix2x_status_filename])
31+
OPAL_VAR_SCOPE_PUSH([PMIX_VERSION opal_pmix_pmix2x_save_CPPFLAGS opal_pmix_pmix2_save_CFLAGS opal_pmix_pmix2x_save_LDFLAGS opal_pmix_pmix2x_save_LIBS opal_pmix_pmix2x_basedir opal_pmix_pmix2x_args opal_pmix_pmix2x_happy pmix_pmix2x_status_filename])
3232

3333
opal_pmix_pmix2x_basedir=opal/mca/pmix/pmix2x
3434

@@ -37,18 +37,6 @@ AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
3737
opal_pmix_pmix2x_save_LDFLAGS=$LDFLAGS
3838
opal_pmix_pmix2x_save_LIBS=$LIBS
3939

40-
AC_ARG_ENABLE([pmix-dstore],
41-
[AC_HELP_STRING([--enable-pmix-dstore],
42-
[Enable PMIx shared memory data store (default: enabled)])])
43-
AC_MSG_CHECKING([if PMIx shared memory data store is enabled])
44-
if test "$enable_pmix_dstore" != "no"; then
45-
AC_MSG_RESULT([yes])
46-
opal_pmix_pmix2x_sm_flag=--enable-dstore
47-
else
48-
AC_MSG_RESULT([no (disabled)])
49-
opal_pmix_pmix2x_sm_flag=--disable-dstore
50-
fi
51-
5240
AC_ARG_ENABLE([pmix-timing],
5341
[AC_HELP_STRING([--enable-pmix-timing],
5442
[Enable PMIx timing measurements (default: disabled)])])
@@ -61,15 +49,14 @@ AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
6149
opal_pmix_pmix2x_timing_flag=--disable-pmix-timing
6250
fi
6351

64-
opal_pmix_pmix2x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX2X_ $opal_pmix_pmix2x_sm_flag $opal_pmix_pmix2x_timing_flag --without-tests-examples --disable-pmix-backward-compatibility --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\" --enable-embedded-mode"
52+
opal_pmix_pmix2x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX2X_ $opal_pmix_pmix2x_timing_flag --without-tests-examples --disable-pmix-backward-compatibility --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\" --enable-embedded-mode"
6553
AS_IF([test "$enable_debug" = "yes"],
6654
[opal_pmix_pmix2x_args="--enable-debug $opal_pmix_pmix2x_args"
6755
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
6856
[opal_pmix_pmix2x_args="--disable-debug $opal_pmix_pmix2x_args"
6957
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS"])
7058
AS_IF([test "$with_devel_headers" = "yes"],
71-
[opal_pmix_pmix2x_args="--with-devel-headers $opal_pmix_pmix2x_args"],
72-
[opal_pmix_pmix2x_args=$opal_pmix_pmix2x_args])
59+
[opal_pmix_pmix2x_args="--with-devel-headers --with-pmix-extra-lib=$OPAL_TOP_BUILDDIR/opal/lib${OPAL_LIB_PREFIX}open-pal.la $opal_pmix_pmix2x_args"])
7360
CPPFLAGS="-I$OPAL_TOP_SRCDIR -I$OPAL_TOP_BUILDDIR -I$OPAL_TOP_SRCDIR/opal/include -I$OPAL_TOP_BUILDDIR/opal/include $CPPFLAGS"
7461

7562
OPAL_CONFIG_SUBDIR([$opal_pmix_pmix2x_basedir/pmix],

opal/mca/pmix/pmix2x/pmix/config/pmix.m4

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,18 @@ AC_DEFUN([PMIX_SETUP_CORE],[
156156
AC_SUBST(PMIX_RENAME)
157157
AC_CONFIG_FILES(pmix_config_prefix[include/pmix_rename.h])
158158

159+
# Add any extra lib?
160+
AC_ARG_WITH([pmix-extra-lib],
161+
AC_HELP_STRING([--with-pmix-extra-lib=LIB],
162+
[Link the output PMIx library to this extra lib (used in embedded mode)]))
163+
AC_MSG_CHECKING([for extra lib])
164+
AS_IF([test ! -z "$with_pmix_extra_lib"],
165+
[AC_MSG_RESULT([$with_pmix_extra_lib])
166+
PMIX_EXTRA_LIB=$with_pmix_extra_lib],
167+
[AC_MSG_RESULT([no])
168+
PMIX_EXTRA_LIB=])
169+
AC_SUBST(PMIX_EXTRA_LIB)
170+
159171
# GCC specifics.
160172
if test "x$GCC" = "xyes"; then
161173
PMIX_GCC_CFLAGS="-Wall -Wmissing-prototypes -Wundef"

opal/mca/pmix/pmix2x/pmix/src/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ dist_pmixdata_DATA =
4747

4848
libpmix_la_LIBADD = \
4949
mca/base/libpmix_mca_base.la \
50-
$(MCA_pmix_FRAMEWORK_LIBS)
50+
$(MCA_pmix_FRAMEWORK_LIBS) \
51+
$(PMIX_EXTRA_LIB)
5152
libpmix_la_DEPENDENCIES = $(libpmix_la_LIBADD)
5253

5354
if PMIX_EMBEDDED_MODE

0 commit comments

Comments
 (0)