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

Remove the link-backs to libpmix #1213

Merged
merged 2 commits into from
Apr 20, 2019
Merged

Remove the link-backs to libpmix #1213

merged 2 commits into from
Apr 20, 2019

Conversation

rhc54
Copy link
Contributor

@rhc54 rhc54 commented Apr 16, 2019

They don't appear to be necessary for Python bindings support and are messing up OMPI

Signed-off-by: Ralph Castain rhc@pmix.org
(cherry picked from commit f81caf4)

They don't appear to be necessary for Python bindings support and are messing up OMPI

Signed-off-by: Ralph Castain <rhc@pmix.org>
(cherry picked from commit f81caf4)
@rhc54 rhc54 added the bug label Apr 16, 2019
@rhc54 rhc54 added this to the v3.1.3 milestone Apr 16, 2019
@rhc54 rhc54 requested a review from jjhursey April 16, 2019 22:03
@rhc54 rhc54 self-assigned this Apr 16, 2019
@ggouaillardet
Copy link
Contributor

@rhc54 IIRC, the request to have components depend onlibpmix was to be able to dlopen("libpmix.so") without RTLD_GLOBAL.

My understanding is that the issue is specific to the embedded mode (e.g. we build libpmix.a but dynamic components), so the less intrusive fix below could be used

@jsquyres FYI

diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
index 107f1156c6..6500ec4350 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
@@ -51,7 +51,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v12_la_SOURCES = $(component_sources)
 mca_bfrops_v12_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_bfrops_v12_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v12_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
index ca31a2f3f7..9ced5c9204 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
@@ -51,7 +51,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v20_la_SOURCES = $(component_sources)
 mca_bfrops_v20_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_bfrops_v20_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v20_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
index 0d68dde468..9c3e3eb431 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v21_la_SOURCES = $(component_sources)
 mca_bfrops_v21_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_bfrops_v21_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v21_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
index a61c80b952..d01a494c81 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v3_la_SOURCES = $(component_sources)
 mca_bfrops_v3_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_bfrops_v3_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v3_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
index e1764dced3..062b89202d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v4_la_SOURCES = $(component_sources)
 mca_bfrops_v4_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_bfrops_v4_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v4_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
index e07a9271d3..71f05b5de0 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
@@ -64,7 +64,9 @@ mcacomponent_LTLIBRARIES = $(component)
 mca_gds_ds12_la_SOURCES = $(component_sources)
 mca_gds_ds12_la_LDFLAGS = -module -avoid-version \
     $(PMIX_TOP_BUILDDIR)/src/mca/common/dstore/libmca_common_dstore.la
+if !PMIX_EMBEDDED_MODE
 mca_gds_ds12_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_gds_ds12_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
index 0e90dbfe39..102e15b310 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
@@ -56,7 +56,9 @@ mcacomponent_LTLIBRARIES = $(component)
 mca_gds_ds21_la_SOURCES = $(component_sources)
 mca_gds_ds21_la_LDFLAGS = -module -avoid-version \
     $(PMIX_TOP_BUILDDIR)/src/mca/common/dstore/libmca_common_dstore.la
+if !PMIX_EMBEDDED_MODE
 mca_gds_ds21_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_gds_ds21_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
index 4423b09bf2..edeeb3445a 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_gds_hash_la_SOURCES = $(component_sources)
-mca_gds_hash_la_LIBADD = $(gds_hash_LIBS) $(top_builddir)/src/libpmix.la
+mca_gds_hash_la_LIBADD = $(gds_hash_LIBS)
+if !PMIX_EMBEDDED_MODE
+mca_gds_hash_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_gds_hash_la_LDFLAGS = -module -avoid-version $(gds_hash_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
index 196de28ec0..046417bd36 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
@@ -34,7 +34,10 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_pcompress_zlib_la_SOURCES = $(sources)
 mca_pcompress_zlib_la_LDFLAGS = -module -avoid-version $(pcompress_zlib_LDFLAGS)
-mca_pcompress_zlib_la_LIBADD = $(pcompress_zlib_LIBS) $(top_builddir)/src/libpmix.la
+mca_pcompress_zlib_la_LIBADD = $(pcompress_zlib_LIBS)
+if !PMIX_EMBEDDED_MODE
+mca_pcompress_zlib_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_pcompress_zlib_la_SOURCES = $(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
index 4d7acddc04..ab9048091e 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_default_la_SOURCES = $(sources)
 mca_plog_default_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_plog_default_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_default_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
index e52129d312..d4f20c115e 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_stdfd_la_SOURCES = $(sources)
 mca_plog_stdfd_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_plog_stdfd_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_stdfd_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
index cdc7235ff1..7e4d086a1d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_syslog_la_SOURCES = $(sources)
 mca_plog_syslog_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_plog_syslog_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_syslog_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
index 99032cb966..2a87379702 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_opa_la_SOURCES = $(component_sources)
-mca_pnet_opa_la_LIBADD = $(pnet_opa_LIBS) $(top_builddir)/src/libpmix.la
+mca_pnet_opa_la_LIBADD = $(pnet_opa_LIBS)
+if !PMIX_EMBEDDED_MODE
+mca_pnet_opa_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_pnet_opa_la_LDFLAGS = -module -avoid-version $(pnet_opa_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
index c83434f042..4e2f7e108d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_tcp_la_SOURCES = $(component_sources)
-mca_pnet_tcp_la_LIBADD = $(pnet_tcp_LIBS) $(top_builddir)/src/libpmix.la
+mca_pnet_tcp_la_LIBADD = $(pnet_tcp_LIBS)
+if !PMIX_EMBEDDED_MODE
+mca_pnet_tcp_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_pnet_tcp_la_LDFLAGS = -module -avoid-version $(pnet_tcp_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
index 0f065070bd..5c2f92e7f2 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
@@ -46,7 +46,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_test_la_SOURCES = $(component_sources)
 mca_pnet_test_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_pnet_test_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_pnet_test_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
index 088edc2e00..9dbda3e605 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_preg_native_la_SOURCES = $(component_sources)
 mca_preg_native_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_preg_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_preg_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
index 16ad71e4c5..f7e77a5ef5 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
@@ -46,7 +46,10 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_munge_la_SOURCES = $(component_sources)
 mca_psec_munge_la_LDFLAGS = -module -avoid-version $(psec_munge_LDFLAGS)
-mca_psec_munge_la_LIBADD = $(psec_munge_LIBS) $(top_builddir)/src/libpmix.la
+mca_psec_munge_la_LIBADD = $(psec_munge_LIBS)
+if !PMIX_EMBEDDED_MODE
+mca_psec_munge_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_munge_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
index 18b147bedb..bf2664fb39 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_native_la_SOURCES = $(component_sources)
 mca_psec_native_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psec_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
index f1aa428bce..4a34f1b0b5 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_none_la_SOURCES = $(component_sources)
 mca_psec_none_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psec_none_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_none_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
index 43a31cbd64..50a6a1cb38 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
@@ -31,7 +31,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_psensor_file_la_SOURCES = $(sources)
 mca_psensor_file_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psensor_file_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_psensor_file_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
index 983654533d..8aa07550e3 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
@@ -32,7 +32,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_psensor_heartbeat_la_SOURCES = $(sources)
 mca_psensor_heartbeat_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psensor_heartbeat_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_psensor_heartbeat_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
index 958c39ef50..f5f21dc730 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
@@ -37,7 +37,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pshmem_mmap_la_SOURCES = $(component_sources)
 mca_pshmem_mmap_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_pshmem_mmap_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_pshmem_mmap_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
index 03c1c376be..8904fc243e 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
@@ -34,7 +34,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psquash_flex128_la_SOURCES = $(component_sources)
 mca_psquash_flex128_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psquash_flex128_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psquash_flex128_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
index 1fc2956814..7809d44343 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
@@ -37,7 +37,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psquash_native_la_SOURCES = $(component_sources)
 mca_psquash_native_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_psquash_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psquash_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
index a77ff60b0b..20d4cb8b2f 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_ptl_tcp_la_SOURCES = $(component_sources)
 mca_ptl_tcp_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_ptl_tcp_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_ptl_tcp_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
index 7adf5df987..ffa6ed928d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_ptl_usock_la_SOURCES = $(component_sources)
 mca_ptl_usock_la_LDFLAGS = -module -avoid-version
+if !PMIX_EMBEDDED_MODE
 mca_ptl_usock_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_ptl_usock_la_SOURCES = $(lib_sources)

@rhc54
Copy link
Contributor Author

rhc54 commented Apr 17, 2019

Not sure I see how that is "less intrusive" 😄 but yes, I did think of that - however, I wanted to get OMPI fixed first and then look further into this issue. I think we need a configure option, however, as opposed to hard-coding it either direction. We know OMPI embeds in a particular way, but there's no guarantee someone else won't have a problem with this direction too.

@ggouaillardet
Copy link
Contributor

it is less intrusive in a sense only the embedded-mode behavior is impacted.

I get what you say, double check this and indeed, we should have the dependency on libpmix.la in embedded mode when devel-headers are requested to be installed.

Here is an improved patch

diff --git a/opal/mca/pmix/pmix4x/pmix/config/pmix.m4 b/opal/mca/pmix/pmix4x/pmix/config/pmix.m4
index 1c1ba094f5..a407039537 100644
--- a/opal/mca/pmix/pmix4x/pmix/config/pmix.m4
+++ b/opal/mca/pmix/pmix4x/pmix/config/pmix.m4
@@ -920,7 +920,7 @@ AC_DEFUN([PMIX_DEFINE_ARGS],[
     AC_ARG_ENABLE([embedded-mode],
         [AC_HELP_STRING([--enable-embedded-mode],
                 [Using --enable-embedded-mode causes PMIx to skip a few configure checks and install nothing.  It should only be used when building PMIx within the scope of a larger package.])])
-    AS_IF([test ! -z "$enable_embedded_mode" && test "$enable_embedded_mode" = "yes"],
+    AS_IF([test "$enable_embedded_mode" = "yes"],
           [pmix_mode=embedded
            pmix_install_primary_headers=no
            AC_MSG_RESULT([yes])],
@@ -1222,6 +1222,7 @@ AC_DEFUN([PMIX_DO_AM_CONDITIONALS],[
         AM_CONDITIONAL([WANT_PRIMARY_HEADERS], [test "x$pmix_install_primary_headers" = "xyes"])
         AM_CONDITIONAL(WANT_INSTALL_HEADERS, test "$WANT_INSTALL_HEADERS" = 1)
         AM_CONDITIONAL(WANT_PMI_BACKWARD, test "$WANT_PMI_BACKWARD" = 1)
+        AM_CONDITIONAL(NEED_LIBPMIX, [test "x$pmix_mode" != "xembedded" || test "$WANT_INSTALL_HEADERS" = 1])
     ])
     pmix_did_am_conditionals=yes
 ])dnl
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
index 107f1156c6..5855a6aeae 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/Makefile.am
@@ -51,7 +51,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v12_la_SOURCES = $(component_sources)
 mca_bfrops_v12_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_bfrops_v12_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v12_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
index ca31a2f3f7..42eb14940a 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/Makefile.am
@@ -51,7 +51,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v20_la_SOURCES = $(component_sources)
 mca_bfrops_v20_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_bfrops_v20_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v20_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
index 0d68dde468..1658de9d1d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v21/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v21_la_SOURCES = $(component_sources)
 mca_bfrops_v21_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_bfrops_v21_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v21_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
index a61c80b952..d14a13258f 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v3/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v3_la_SOURCES = $(component_sources)
 mca_bfrops_v3_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_bfrops_v3_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v3_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
index e1764dced3..8239aa5589 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v4/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_bfrops_v4_la_SOURCES = $(component_sources)
 mca_bfrops_v4_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_bfrops_v4_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_bfrops_v4_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
index e07a9271d3..eae7ef34ab 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds12/Makefile.am
@@ -64,7 +64,9 @@ mcacomponent_LTLIBRARIES = $(component)
 mca_gds_ds12_la_SOURCES = $(component_sources)
 mca_gds_ds12_la_LDFLAGS = -module -avoid-version \
     $(PMIX_TOP_BUILDDIR)/src/mca/common/dstore/libmca_common_dstore.la
+if NEED_LIBPMIX
 mca_gds_ds12_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_gds_ds12_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
index 0e90dbfe39..06e1dd13a9 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/ds21/Makefile.am
@@ -56,7 +56,9 @@ mcacomponent_LTLIBRARIES = $(component)
 mca_gds_ds21_la_SOURCES = $(component_sources)
 mca_gds_ds21_la_LDFLAGS = -module -avoid-version \
     $(PMIX_TOP_BUILDDIR)/src/mca/common/dstore/libmca_common_dstore.la
+if NEED_LIBPMIX
 mca_gds_ds21_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_gds_ds21_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
index 4423b09bf2..3e5ab69dfb 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/gds/hash/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_gds_hash_la_SOURCES = $(component_sources)
-mca_gds_hash_la_LIBADD = $(gds_hash_LIBS) $(top_builddir)/src/libpmix.la
+mca_gds_hash_la_LIBADD = $(gds_hash_LIBS)
+if NEED_LIBPMIX
+mca_gds_hash_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_gds_hash_la_LDFLAGS = -module -avoid-version $(gds_hash_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
index 196de28ec0..c54a393aba 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pcompress/zlib/Makefile.am
@@ -34,7 +34,10 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_pcompress_zlib_la_SOURCES = $(sources)
 mca_pcompress_zlib_la_LDFLAGS = -module -avoid-version $(pcompress_zlib_LDFLAGS)
-mca_pcompress_zlib_la_LIBADD = $(pcompress_zlib_LIBS) $(top_builddir)/src/libpmix.la
+mca_pcompress_zlib_la_LIBADD = $(pcompress_zlib_LIBS)
+if NEED_LIBPMIX
+mca_pcompress_zlib_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_pcompress_zlib_la_SOURCES = $(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
index 4d7acddc04..369a06269f 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/default/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_default_la_SOURCES = $(sources)
 mca_plog_default_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_plog_default_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_default_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
index e52129d312..0cdd43d60c 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/stdfd/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_stdfd_la_SOURCES = $(sources)
 mca_plog_stdfd_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_plog_stdfd_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_stdfd_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
index cdc7235ff1..ba79c07fe7 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/plog/syslog/Makefile.am
@@ -40,7 +40,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_plog_syslog_la_SOURCES = $(sources)
 mca_plog_syslog_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_plog_syslog_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_plog_syslog_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
index 99032cb966..12cc0857b4 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/opa/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_opa_la_SOURCES = $(component_sources)
-mca_pnet_opa_la_LIBADD = $(pnet_opa_LIBS) $(top_builddir)/src/libpmix.la
+mca_pnet_opa_la_LIBADD = $(pnet_opa_LIBS)
+if NEED_LIBPMIX
+mca_pnet_opa_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_pnet_opa_la_LDFLAGS = -module -avoid-version $(pnet_opa_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
index c83434f042..933235db75 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/tcp/Makefile.am
@@ -47,7 +47,10 @@ endif
 mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_tcp_la_SOURCES = $(component_sources)
-mca_pnet_tcp_la_LIBADD = $(pnet_tcp_LIBS) $(top_builddir)/src/libpmix.la
+mca_pnet_tcp_la_LIBADD = $(pnet_tcp_LIBS)
+if NEED_LIBPMIX
+mca_pnet_tcp_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 mca_pnet_tcp_la_LDFLAGS = -module -avoid-version $(pnet_tcp_LDFLAGS)
 
 noinst_LTLIBRARIES = $(lib)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
index 0f065070bd..b71000ef55 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pnet/test/Makefile.am
@@ -46,7 +46,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pnet_test_la_SOURCES = $(component_sources)
 mca_pnet_test_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_pnet_test_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_pnet_test_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
index 088edc2e00..607dcdb0c9 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/preg/native/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_preg_native_la_SOURCES = $(component_sources)
 mca_preg_native_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_preg_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_preg_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
index 16ad71e4c5..79756320d6 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/munge/Makefile.am
@@ -46,7 +46,10 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_munge_la_SOURCES = $(component_sources)
 mca_psec_munge_la_LDFLAGS = -module -avoid-version $(psec_munge_LDFLAGS)
-mca_psec_munge_la_LIBADD = $(psec_munge_LIBS) $(top_builddir)/src/libpmix.la
+mca_psec_munge_la_LIBADD = $(psec_munge_LIBS)
+if NEED_LIBPMIX
+mca_psec_munge_la_LIBADD += $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_munge_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
index 18b147bedb..b1086a2aac 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_native_la_SOURCES = $(component_sources)
 mca_psec_native_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psec_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
index f1aa428bce..cde03ba502 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psec/none/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psec_none_la_SOURCES = $(component_sources)
 mca_psec_none_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psec_none_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psec_none_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
index 43a31cbd64..638fcd6a32 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/file/Makefile.am
@@ -31,7 +31,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_psensor_file_la_SOURCES = $(sources)
 mca_psensor_file_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psensor_file_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_psensor_file_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
index 983654533d..95b978415d 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psensor/heartbeat/Makefile.am
@@ -32,7 +32,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component_install)
 mca_psensor_heartbeat_la_SOURCES = $(sources)
 mca_psensor_heartbeat_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psensor_heartbeat_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(component_noinst)
 libmca_psensor_heartbeat_la_SOURCES =$(sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
index 958c39ef50..1483ae5de0 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/pshmem/mmap/Makefile.am
@@ -37,7 +37,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_pshmem_mmap_la_SOURCES = $(component_sources)
 mca_pshmem_mmap_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_pshmem_mmap_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_pshmem_mmap_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
index 03c1c376be..367f739c87 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/flex128/Makefile.am
@@ -34,7 +34,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psquash_flex128_la_SOURCES = $(component_sources)
 mca_psquash_flex128_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psquash_flex128_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psquash_flex128_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
index 1fc2956814..01a401ae64 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/native/Makefile.am
@@ -37,7 +37,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_psquash_native_la_SOURCES = $(component_sources)
 mca_psquash_native_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_psquash_native_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_psquash_native_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
index a77ff60b0b..0a5b86bfda 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/tcp/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_ptl_tcp_la_SOURCES = $(component_sources)
 mca_ptl_tcp_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_ptl_tcp_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_ptl_tcp_la_SOURCES = $(lib_sources)
diff --git a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
index 7adf5df987..2c91ac37c8 100644
--- a/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
+++ b/opal/mca/pmix/pmix4x/pmix/src/mca/ptl/usock/Makefile.am
@@ -44,7 +44,9 @@ mcacomponentdir = $(pmixlibdir)
 mcacomponent_LTLIBRARIES = $(component)
 mca_ptl_usock_la_SOURCES = $(component_sources)
 mca_ptl_usock_la_LDFLAGS = -module -avoid-version
+if NEED_LIBPMIX
 mca_ptl_usock_la_LIBADD = $(top_builddir)/src/libpmix.la
+endif
 
 noinst_LTLIBRARIES = $(lib)
 libmca_ptl_usock_la_SOURCES = $(lib_sources)

@rhc54
Copy link
Contributor Author

rhc54 commented Apr 17, 2019

@ggouaillardet My apologies - I should have been clearer. My point was that we are overloading embedded-mode with too many things. Right now, we use that configure option in three places:

  • top-level Makefile.am: don't install valgrind suppression file
  • src/Makefile.am: modifies LDFLAGS and blocks the ability to install libpmi and libpmi2, regardless of the backward-compatibility configure option
  • src/include/Makefile.include: don't install a number of internal headers. BTW: I'm not sure this is correctly done as those headers might be needed for devel purposes - probably shouldn't be "on" if someone wants the devel headers installed. Haven't heard any complaints, so either people aren't using it or it really isn't a problem.

I think I'm okay with that collection (though I want to think some more about it), but I don't think we should add this behavior to it. Someone wanting to call dlopen on non-local scope may still want backward compatibility, for example. Thus, I'd prefer we create a new cmd line option that specifically directs this behavior (open to suggestions on a name for it).

Make sense?

Add --enable-nonglobal-dlopen to control adding libpmix to every MCA component. Default it to enabled.

Signed-off-by: Ralph Castain <rhc@pmix.org>
(cherry picked from commit facf384)
@rhc54
Copy link
Contributor Author

rhc54 commented Apr 18, 2019

@ggouaillardet See what you think of the update.

@rhc54 rhc54 merged commit dad7a0c into openpmix:v3.1 Apr 20, 2019
@rhc54 rhc54 deleted the cmr31/link branch April 20, 2019 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants