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,