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

-- 
Joseph Bane
UMaine Computer Science Major/Mathematics Minor
ACM Member
Advanced Computing Research Laboratory at Target Technology Center
http://www.clusters.umaine.edu/
diff -urN openmpi-1.2.6_old/ompi/mca/io/romio/romio/adio/ad_pvfs2/io_romio_ad_pvfs2_open.c openmpi-1.2.6_patch/ompi/mca/io/romio/romio/adio/ad_pvfs2/io_romio_ad_pvfs2_open.c
--- openmpi-1.2.6_old/ompi/mca/io/romio/romio/adio/ad_pvfs2/io_romio_ad_pvfs2_open.c	2006-11-09 13:53:51.000000000 -0500
+++ openmpi-1.2.6_patch/ompi/mca/io/romio/romio/adio/ad_pvfs2/io_romio_ad_pvfs2_open.c	2008-05-30 15:08:55.000000000 -0400
@@ -83,7 +83,7 @@
             /* Perform file creation */
             ret = PVFS_sys_create(resp_getparent.basename, 
 		    resp_getparent.parent_ref, attribs, 
-		    &(pvfs2_fs->credentials), dist, &resp_create); 
+		    &(pvfs2_fs->credentials), dist, NULL, &resp_create); 
 
 	    if (ret < 0) { /* XXX: should only do this for EEXISTS */
 		ret = PVFS_sys_lookup(fs_id, pvfs_name,

Reply via email to