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

Reply via email to