diff --git a/opal/mca/paffinity/hwloc/Makefile.am b/opal/mca/paffinity/hwloc/Makefile.am index d959690c30..44d985ab4e 100644 --- a/opal/mca/paffinity/hwloc/Makefile.am +++ b/opal/mca/paffinity/hwloc/Makefile.am @@ -59,8 +59,15 @@ mca_paffinity_hwloc_la_SOURCES = $(sources) mca_paffinity_hwloc_la_LDFLAGS = -module -avoid-version mca_paffinity_hwloc_la_LIBADD = if OPAL_PAFFINITY_HWLOC_INTERNAL +# In most circumstances, the .la file should contain all relevant +# LDFLAGS and LIBS that we need. However, hwloc's embedding takes +# pains to not add anything to the upper-level package LDFLAGS and +# LIBS, so hwloc_embedded.la won't contain what it needs. Instead, we +# have to add HWLOC_EMBEDDED_LDFLAGS and _LIBS here manually. +mca_paffinity_hwloc_la_LDFLAGS += $(HWLOC_EMBEDDED_LDFLAGS) mca_paffinity_hwloc_la_LIBADD += \ - $(top_ompi_builddir)/opal/mca/paffinity/hwloc/hwloc/src/libhwloc_embedded.la + $(top_ompi_builddir)/opal/mca/paffinity/hwloc/hwloc/src/libhwloc_embedded.la \ + $(HWLOC_EMBEDDED_LIBS) else mca_paffinity_hwloc_la_LDFLAGS += $(paffinity_hwloc_LDFLAGS) mca_paffinity_hwloc_la_LIBADD += $(paffinity_hwloc_LIBS) @@ -71,8 +78,11 @@ libmca_paffinity_hwloc_la_SOURCES =$(sources) libmca_paffinity_hwloc_la_LDFLAGS = -module -avoid-version libmca_paffinity_hwloc_la_LIBADD = if OPAL_PAFFINITY_HWLOC_INTERNAL +# See note about above HWLOC_EMBEDDED_LDFLAGS and _LIBS. +libmca_paffinity_hwloc_la_LDFLAGS += $(HWLOC_EMBEDDED_LDFLAGS) libmca_paffinity_hwloc_la_LIBADD += \ - $(top_ompi_builddir)/opal/mca/paffinity/hwloc/hwloc/src/libhwloc_embedded.la + $(top_ompi_builddir)/opal/mca/paffinity/hwloc/hwloc/src/libhwloc_embedded.la \ + $(HWLOC_EMBEDDED_LIBS) else libmca_paffinity_hwloc_la_LDFLAGS += $(paffinity_hwloc_LDFLAGS) libmca_paffinity_hwloc_la_LIBADD += $(paffinity_hwloc_LIBS) diff --git a/opal/mca/paffinity/hwloc/configure.m4 b/opal/mca/paffinity/hwloc/configure.m4 index 35906ee435..1b0501f708 100644 --- a/opal/mca/paffinity/hwloc/configure.m4 +++ b/opal/mca/paffinity/hwloc/configure.m4 @@ -85,10 +85,13 @@ AC_DEFUN([MCA_paffinity_hwloc_CONFIG],[ [AC_MSG_CHECKING([whether hwloc configure succeeded]) AC_MSG_RESULT([yes]) HWLOC_VERSION="internal v`$srcdir/opal/mca/paffinity/hwloc/hwloc/config/hwloc_get_version.sh $srcdir/opal/mca/paffinity/hwloc/hwloc/VERSION`" - opal_check_hwloc_happy=yes], - [AC_MSG_CHECKING([whether hwloc configure succeeded]) - AC_MSG_RESULT([no]) - opal_check_hwloc_happy=no]) + # Add flags to the wrappers for static builds + paffinity_hwloc_WRAPPER_EXTRA_LDFLAGS=$HWLOC_EMBEDDED_LDFLAGS + paffinity_hwloc_WRAPPER_EXTRA_LIBS=$HWLOC_EMBEDDED_LIBS + opal_check_hwloc_happy=yes], + [AC_MSG_CHECKING([whether hwloc configure succeeded]) + AC_MSG_RESULT([no]) + opal_check_hwloc_happy=no]) ]) # If we are not building internal, then run all the normal checks