Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] openmpi-1.2.6 and pvfs-2.7.0+ Support
From: Joseph Bane (havocjoseph_at_[hidden])
Date: 2008-05-30 18:07:07


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/