Digging through my emails I found an issue (in the email quoted below) that
I had forgotten about.
The basic issue is that NetBSD puts aio support in librt rather than libc,
but this is only visible when linking statically.

Fortunately, NetBSD is one of the very few platforms on which I have
sufficiently new autotools to run autogen.pl.
The patch below resolves the problem for me.
However, I am not certain if/how this fits with OMPI's standard practices
with regards to configure tests.

-Paul

--- openmpi-1.9a1r30255/ompi/mca/fbtl/posix/configure.m4~       2014-01-11
15:53:19.000000000 -0800
+++ openmpi-1.9a1r30255/ompi/mca/fbtl/posix/configure.m4        2014-01-11
16:25:53.000000000 -0800
@@ -25,9 +25,11 @@
 AC_DEFUN([MCA_ompi_fbtl_posix_CONFIG],[
     AC_CONFIG_FILES([ompi/mca/fbtl/posix/Makefile])

+    fbtl_posix_happy="no"
     AC_CHECK_HEADER([aio.h],
-                    [fbtl_posix_happy="yes"],
-                    [fbtl_posix_happy="no"])
+        [dnl NetBSD has aio_* in -lrt, usually in libc
+         OMPI_CHECK_FUNC_LIB([aio_write], [rt],
+             [fbtl_posix_happy="yes"])])

     AS_IF([test "$fbtl_posix_happy" = "yes"],
           [$1],



On Wed, Jan 8, 2014 at 11:22 AM, Paul Hargrove <phhargr...@lbl.gov> wrote:

> When I compile the current 1.7.4rc on NetBSD with no configure arguments,
> I still get the "make install" failure that I have detailed in previous
> emails.
>
> HOWEVER, if I configure with "--enable-static --disable-shared" then I get
> an earlier failure at build time (partial "make V=1" output shown below).
>
> When linking otfmerge-mpi, the aio_* symbols from
> libmpi.a(ompi/mca/fbtl/posix/fbtl_posix_ipwritev.o) are not resolved.
>  According to the man pages on this system, those symbols reside in librt,
> but there is no occurrence of "-lrt" in either the libtool command line or
> the gcc command line generated by libtool.
>
> NOTE, however, that this problem does NOT occur when building a default
> shared library version despite ALSO lacking any explicit "-lrt" in the link
> command.
>
> -Paul
>
>
> /bin/ksh ../../../libtool  --tag=CC    --mode=link gcc -DOTFMERGE_MPI
>  -g -finline-functions -fno-strict-aliasing -pthread
>  
> -L/home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/ompi/contrib/vt/vt/../../../.libs
> -o otfmerge-mpi otfmerge_mpi-handler.o  otfmerge_mpi-otfmerge.o
> ../../../otflib/libopen-trace-format.la  ../../../otfauxlib/libotfaux.la-lmpi
> libtool: link: gcc -DOTFMERGE_MPI -g -finline-functions
> -fno-strict-aliasing -pthread -o otfmerge-mpi otfmerge_mpi-handler.o
> otfmerge_mpi-otfmerge.o
>  
> -L/home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/ompi/contrib/vt/vt/../../../.libs
> ../../../otflib/.libs/libopen-trace-format.a -lz
> ../../../otfauxlib/.libs/libotfaux.a
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/ompi/contrib/vt/vt/../../../.libs/libmpi.a
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/orte/.libs/libopen-rte.a
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/opal/.libs/libopen-pal.a
> -lutil -lm -lpthread -pthread
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/ompi/contrib/vt/vt/../../../.libs/libmpi.a(fbtl_posix_ipwritev.o):
> In function `mca_fbtl_posix_ipwritev':
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/openmpi-1.7-latest/ompi/mca/fbtl/posix/fbtl_posix_ipwritev.c:90:
> undefined reference to `aio_write'
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/openmpi-1.7-latest/ompi/mca/fbtl/posix/fbtl_posix_ipwritev.c:112:
> undefined reference to `aio_write'
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/openmpi-1.7-latest/ompi/mca/fbtl/posix/fbtl_posix_ipwritev.c:159:
> undefined reference to `aio_write'
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/openmpi-1.7-latest/ompi/mca/fbtl/posix/fbtl_posix_ipwritev.c:180:
> undefined reference to `aio_write'
> *** Error code 1
>
> Stop.
> make: stopped in
> /home/phargrov/OMPI/openmpi-1.7-latest-netbsd6-amd64/BLD/ompi/contrib/vt/vt/extlib/otf/tools/otfmerge/mpi
>
> --
> Paul H. Hargrove                          phhargr...@lbl.gov
> Future Technologies Group
> Computer and Data Sciences Department     Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to