Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Make Error: io_romio_ad_wait.c
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-01-20 17:38:47


On Jan 18, 2009, at 8:59 PM, Jeremy Espenshade wrote:

> libtool: compile: ppc_4xx-gcc -DHAVE_CONFIG_H -I. -I../../adio/
> include -DOMPI_BUILDING=1 -I/home/jeremy/Desktop/openmpi-1.2.8/ompi/
> mca/io/romio/romio/../../../../.. -I/home/jeremy/Desktop/
> openmpi-1.2.8/ompi/mca/io/romio/romio/../../../../../opal/include -
> I../../../../../../../opal/include -I../../../../../../../ompi/
> include -I/home/jeremy/Desktop/openmpi-1.2.8/ompi/mca/io/romio/romio/
> include -I/home/jeremy/Desktop/openmpi-1.2.8/ompi/mca/io/romio/romio/
> adio/include -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -
> pthread -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -
> DHAVE_ROMIOCONF_H -DHAVE_ROMIOCONF_H -I../../include -MT
> io_romio_ad_wait.lo -MD -MP -MF .deps/io_romio_ad_wait.Tpo -c
> io_romio_ad_wait.c -fPIC -DPIC -o .libs/io_romio_ad_wait.o
> io_romio_ad_wait.c: In function 'ADIOI_GEN_IOComplete':
> io_romio_ad_wait.c:59: warning: passing argument 1 of 'aio_suspend'
> makes pointer from integer without a cast
> io_romio_ad_wait.c:59: warning: passing argument 2 of 'aio_suspend'
> makes integer from pointer without a cast
> io_romio_ad_wait.c:59: error: too few arguments to function
> 'aio_suspend'
> io_romio_ad_wait.c:62: error: 'tmp1' undeclared (first use in this
> function)
> io_romio_ad_wait.c:62: error: (Each undeclared identifier is
> reported only once
> io_romio_ad_wait.c:62: error: for each function it appears in.)

This looks like a prototype mismatch with the aio_suspend() library
function.

What is the prototype of this function on your system? The prototype
is the same on several systems that I have checked (RHEL4, Debian
somethingorother with kernel 2.6.18, OS X Leopard):

      #include <aio.h>

      int
      aio_suspend(const struct aiocb *const list[], int nent,
          const struct timespec *timeout);

Is it different on your system?

FWIW, I notice that in the upgraded ROMIO in the just-released OMPI
v1.3, it doesn't use the call to aio_complete at all. So you might
want to try that...?

-- 
Jeff Squyres
Cisco Systems