Hi again.
Sorry for the late response - I was on vacation.

The signature for the PVFS_sys_create function has indeed changed as of version 2.7.0.

As far as I can tell, this is a minor change.

Cheers!
~Joe

 
---------- Forwarded message ----------
From: Jeff Squyres <jsquyres@cisco.com>
To: Open MPI Developers <devel@open-mpi.org>
Date: Wed, 4 Jun 2008 14:58:25 -0400
Subject: Re: [OMPI devel] openmpi-1.2.6 and pvfs-2.7.0+ Support 

Just to clarify -- are you saying that the function signature for PVFS_sys_create() has changed over time and that in some versions it takes 6 parameters, and in other versions it takes 7 parameters?  (I know nothing about PVFS)

Thanks!



On May 30, 2008, at 6:07 PM, Joseph Bane wrote:

Hi all.
I found a small issue compiling openmpi-1.2.6 with pvfs-2.7.0 support. There is a new layout attribute for "PVFS_sys_create" calls and simply passing a NULL in place of it for the "fake_an_open" function (io_romio_ad_pvfs2_open.c) takes care of the issue. I found this solution looking at MPICH2 source awhile ago, btw.

For instance, after configuring openmpi with pvfs2 support (configure --prefix=/usr/local --with-io-romio-flags="--with-file-system=pvfs2+ufs+nfs") and then running "make all", the following errors appear:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../adio/include -DOMPI_BUILDING=1 -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/../../../../.. -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/../../../../../opal/include -I../../../../../../../opal/include -I../../../../../../../ompi/include -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/include -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/adio/include -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -pthread -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_pvfs2_open.lo -MD -MP -MF .deps/io_romio_ad_pvfs2_open.Tpo -c io_romio_ad_pvfs2_open.c  -fPIC -DPIC -o .libs/io_romio_ad_pvfs2_open.o

io_romio_ad_pvfs2_open.c: In function 'fake_an_open':
io_romio_ad_pvfs2_open.c:86: warning: passing argument 6 of 'PVFS_sys_create' from incompatible pointer type
io_romio_ad_pvfs2_open.c:86: error: too few arguments to function 'PVFS_sys_create'
make[5]: *** [io_romio_ad_pvfs2_open.lo] Error 1


Also, here is the new function prototype for pvfs-2.7.0+ for reference:
   PVFS_error PVFS_sys_create(
       char *object_name,
       PVFS_object_ref parent_ref,
       PVFS_sys_attr attr,
       const PVFS_credentials *credentials,
       PVFS_sys_dist *dist,
       PVFS_sys_layout *layout,
       PVFS_sysresp_create *resp);


So, long story short, I've attached a small patch file to this email.
If I should have echoed the text to the body of this email directly, I apologize in advance.

Cheers!
Sincerely,
Joe

--
Jeff Squyres
Cisco Systems