Ralph,

Yes, I suspect that would resolve the problem.  However, based on my
conclusions presented in an email sent a few minutes ago (and expanded upon
below), I think you should either *revert* or *remove* all of those
*_LDFLAGS settings.

These variables were *empty* prior to our work that lead to RC6, since
WRAPPER_EXTRA_LDFLAGS was undefined.
Looking at config/opal_setup_wrappers.m4 I find that WRAPPER_EXTRA_LDFLAGS
is subject to AC_DEFINE_UNQUOTED(), but never AC_SUBST().
So the presence of this variable in any Makefile.am may be "dead code" -
that is probably still worth some investigation.

Perhaps more importantly, as noted in my other recent email, if I had
followed the MX installation instructions to the letter then the libdir
would be in my LD_LIBRARY_PATH or system default library search path and
*none* of these MX-related issues would have arisen at all (mea culpa).
So, you and I have been chasing a bug (or series of them) that could be
attributed to "pilot error".

So, if one removes or reverts (to rc5) these [testname]_LDFLAGS setting
then there are no known bugs associated with them.
The only failures would be attributable to my MIS-INSTALLATION of MX.

-Paul


On Mon, Aug 24, 2015 at 11:18 AM, Ralph Castain <r...@open-mpi.org> wrote:

> So you think this will resolve the problem:
>
> *diff --git a/ompi/debuggers/Makefile.am b/ompi/debuggers/Makefile.am*
> *index 93a3046..069c3e6 100644*
> *--- a/ompi/debuggers/Makefile.am*
> *+++ b/ompi/debuggers/Makefile.am*
> @@ -44,14 +44,14 @@ headers = \
>  # Simple checks to ensure that the DSOs are functional
>
>
>  dlopen_test_SOURCES = dlopen_test.c
> -dlopen_test_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +dlopen_test_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  dlopen_test_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>  dlopen_test_DEPENDENCIES = $(ompi_predefined_LDADD)
>
>
>  predefined_gap_test_SOURCES = predefined_gap_test.c
> -predefined_gap_test_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +predefined_gap_test_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  predefined_gap_test_LDADD = $(top_builddir)/ompi/libmpi.la
>  predefined_gap_test_DEPENDENCIES = $(ompi_predefined_LDADD)
>
>
> *diff --git a/test/datatype/Makefile.am b/test/datatype/Makefile.am*
> *index 7683c34..7c14ec7 100644*
> *--- a/test/datatype/Makefile.am*
> *+++ b/test/datatype/Makefile.am*
> @@ -21,46 +21,46 @@ TESTS = opal_datatype_test $(MPI_TESTS)
>  check_PROGRAMS = $(TESTS) $(MPI_CHECKS)
>
>
>  ddt_test_SOURCES = ddt_test.c ddt_lib.c ddt_lib.h
> -ddt_test_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +ddt_test_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  ddt_test_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  ddt_raw_SOURCES = ddt_raw.c ddt_lib.c ddt_lib.h
> -ddt_raw_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +ddt_raw_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  ddt_raw_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  ddt_pack_SOURCES = ddt_pack.c
> -ddt_pack_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +ddt_pack_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  ddt_pack_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  checksum_SOURCES = checksum.c
> -checksum_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +checksum_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  checksum_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  position_SOURCES = position.c
> -position_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +position_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  position_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  position_noncontig_SOURCES = position_noncontig.c
> -position_noncontig_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +position_noncontig_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  position_noncontig_LDADD = \
>          $(top_builddir)/ompi/libmpi.la \
>          $(top_builddir)/opal/libopen-pal.la
>
>
>  to_self_SOURCES = to_self.c
> -to_self_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +to_self_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  to_self_LDADD = $(top_builddir)/ompi/libmpi.la
>
>
>  opal_datatype_test_SOURCES = opal_datatype_test.c opal_ddt_lib.c
> opal_ddt_lib.h
> -opal_datatype_test_LDFLAGS = $(OMPI_WRAPPER_EXTRA_LDFLAGS)
> +opal_datatype_test_LDFLAGS = $(OMPI_PKG_CONFIG_LDFLAGS)
>  opal_datatype_test_LDADD = $(top_builddir)/opal/libopen-pal.la
>
>
> *diff --git a/test/event/Makefile.am b/test/event/Makefile.am*
> *index 168d6bf..a133f2f 100644*
> *--- a/test/event/Makefile.am*
> *+++ b/test/event/Makefile.am*
> @@ -27,19 +27,19 @@ check_PROGRAMS = \
>  TESTS = $(check_PROGRAMS)
>
>
>  signal_test_SOURCES = signal-test.c
> -signal_test_LDFLAGS = $(OPAL_WRAPPER_EXTRA_LDFLAGS)
> +signal_test_LDFLAGS = $(OPAL_PKG_CONFIG_LDFLAGS)
>  signal_test_LDADD = \
>          $(top_builddir)/opal/libopen-pal.la
>  signal_test_DEPENDENCIES = $(signal_test_LDADD)
>
>
>  time_test_SOURCES = time-test.c
> -time_test_LDFLAGS = $(OPAL_WRAPPER_EXTRA_LDFLAGS)
> +time_test_LDFLAGS = $(OPAL_PKG_CONFIG_LDFLAGS)
>  time_test_LDADD = \
>          $(top_builddir)/opal/libopen-pal.la
>  time_test_DEPENDENCIES = $(time_test_LDADD)
>
>
>  event_test_SOURCES = event-test.c
> -event_test_LDFLAGS = $(OPAL_WRAPPER_EXTRA_LDFLAGS)
> +event_test_LDFLAGS = $(OPAL_PKG_CONFIG_LDFLAGS)
>  event_test_LDADD = \
>          $(top_builddir)/opal/libopen-pal.la
>  event_test_DEPENDENCIES = $(event_test_LDADD)
>
>
> On Aug 24, 2015, at 11:04 AM, Paul Hargrove <phhargr...@lbl.gov> wrote:
>
>
> This is from testing the Studio compilers on a Solaris-11.1/amd64
> platform, in a configuration that passed my testing of rc5.
> I have configured with
>
> --prefix=[...] --enable-debug CC=cc CXX=CC FC=f90 --with-verbs \
> CXXFLAGS='-library=stlport4' --with-wrapper-cxxflags='-library=stlport4'
>
>
> Note that there is nothing but TCP and Verbs on this platform.
> This is not yet another problem with mx or ofi.
>
> My "make check" step fails as shown below, apparently choking on the
> $(OMPI_WRAPPER_EXTRA_LDFLAGS) that Ralph had to add to resolve the problems
> I saw in rc5:
>
> gmake[3]: Entering directory
> `/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/BLD/ompi/debuggers'
> source='/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/ompi/debuggers/predefined_gap_test.c'
> object='predefined_gap_test.o' libtool=no \
>         DEPDIR=.deps depmode=none /bin/sh
> /shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/config/depcomp
> \
>         cc -DHAVE_CONFIG_H -I.
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/ompi/debuggers
> -I../../opal/include -I../../orte/include -I../../ompi/include
> -I../../oshmem/include
> -I../../opal/mca/hwloc/hwloc191/hwloc/include/private/autogen
> -I../../opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6
> -I../..
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/opal/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/orte/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/ompi/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/oshmem/include
>  -D_REENTRANT
>  
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/opal/mca/hwloc/hwloc191/hwloc/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/BLD/opal/mca/hwloc/hwloc191/hwloc/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/opal/mca/event/libevent2021/libevent
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/opal/mca/event/libevent2021/libevent/include
> -I/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/BLD/opal/mca/event/libevent2021/libevent/include
>  -D_REENTRANT -g -c -o predefined_gap_test.o
> /shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/ompi/debuggers/predefined_gap_test.c
> "/shared/OMPI/openmpi-1.10.0rc6-solaris11-x86-ib-ss12u3/openmpi-1.10.0rc6/opal/include/opal/sys/ia32/atomic.h",
> line 173: warning: parameter in inline asm statement unused: %3
> /bin/sh ../../libtool  --tag=CC   --mode=link cc  -D_REENTRANT -g -R@
> {libdir}   -o predefined_gap_test predefined_gap_test.o ../../ompi/
> libmpi.la -lm -lsocket -lnsl
> libtool: link: only absolute run-paths are allowed
>
> I am going to venture a guess that libtool is complaining about "-R@
> {libdir}".
> Looking at config/opal_setup_wrappers.m4 I find:
>
> # Called to find all -L arguments in the LDFLAGS and add in RPATH args
> # for each of them.  Then also add in an RPATH for @{libdir} (which
> # will be replaced by the wrapper compile to the installdir libdir at
> # runtime), and the RUNPATH args, if we have them.
>
>
> So, since it sounds like the wrapper compiler (not autoconf, automake or
> libtool) is expected to perform the expansion, it sounds to me like the
> $(*_WRAPPER_EXTRA_LDFLAGS) are *not* suitable for linking the tests.
> This means that Ralph and I wasted our Sunday iterating to the wrong fix
> for the mx+static problem I encountered in rc5.
>
> The good news (I hope) is the following comment in the same .m4 file:
>     # Note that we have to setup <package>_PKG_CONFIG_LDFLAGS for the
>     # pkg-config files to parallel the
>     # <package>_WRAPPER_EXTRA_LDFLAGS.  This is because pkg-config
>     # will not understand the @{libdir} notation in
>     # *_WRAPPER_EXTRA_LDFLAGS; we have to translate it to ${libdir}.
>
> So, Ralph, I suspect that use of {OMPI,OPAL}_PKG_CONFIG_LDFLAGS is the
> proper replacement for WRAPPER_LD_FLAGS.
> I tried manually making this change in the three affected generated
> Makefiles and was able to pass my testing on this platform.
>
> -Paul
>
> --
> Paul H. Hargrove                          phhargr...@lbl.gov
> Computer Languages & Systems Software (CLaSS) Group
> Computer Science Department               Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/08/17824.php
>
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/08/17826.php
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to