[Pvfs2-developers] configuring MPICH2 (ROMIO) to work with pvfs2

Orko Momin orko.momin at gmail.com
Wed Dec 7 13:51:33 EST 2011


Hi Rob,

Thank you very much for your reply! So last night after emailing the list I
actually went and checked the headers and I found something interesting. In
pvfs2-types.h, PVFS_credential is defined and not PVFS_credentials. I
believe this is with the OrangeFS installation. Now I was getting "expected
specifier-qualifier-list" error for PVFS_Credentials in ad_pvfs2_common.h .
Initially I thought it was because that file wasn't able to locate
pvfs-types.h but when I saw that credential/credentials difference I
changed PVFS_credentials to credential in the ad_ files and from that point
on, make and make install for mpich2 worked. Now I am wondering is that
something that you have or known anyone to have encountered before? I still
have to go and look and make sure there aren't actually two different
structs, one with credential and the other with credentials but it seems
unlikely to me.

I haven't been able to confirm the things you have mentioned in your email
yet but I will try them out and post a reply with what I get. Thank you for
the info about the order of the installations. Just a quick question: when
I redo the PVFS2 installation in the third step what directory should I
provide to --with-mpi? I ask this because in the MPICH2 installation guide
we are suggested to keep source and installation directories separate. What
exactly do we need to point PVFS2 to with that configure option? If there
were some specific executables or other files that PVFS2 needs to be
pointed to then I could look for those files and point it correctly.


Thank you very much for your reply!

- Orko

On Wed, Dec 7, 2011 at 11:19 AM, Rob Latham <robl at mcs.anl.gov> wrote:

> On Tue, Dec 06, 2011 at 05:48:29PM -0500, Orko Momin wrote:
> > I tried configuring mpich2 with the following options: ./configure
> > --with-pvfs2=/usr/local --disable-f77 --disable-fc
> > --with-file-system=ufs+nfs+testfs+pvfs2 . From what I understand we have
> to
> > provide it with the same prefix that we provide during the pvfs2
> > installation.
>
> Those options look right to me.  Couple things to double check:
>
> -- Can you confirm that you have 'pvfs2-config' installed as
> /usr/local/bin/pvfs2-config ?
>
> - Can you confirm that 'pvfs2-config --cflags' outputs
>  -I/usr/local/include   ?
>
>
> > Currently while making mpich2 after configuring it as above I
> > get the following errors:
> >
> > In file included from ad_pvfs2_read.c:12:0:
> > ad_pvfs2_common.h:21:5: error: expected specifier-qualifier-list before
> > ‘PVFS_credentials’
> > ad_pvfs2_common.h:29:51: error: expected ‘)’ before ‘*’ token
> > ad_pvfs2_read.c: In function ‘ADIOI_PVFS2_ReadContig’:
> > ad_pvfs2_read.c:62:11: error: ‘ADIOI_PVFS2_fs’ has no member named
> > ‘credentials’
> > make[5]: *** [ad_pvfs2_read.o] Error 1
> > make[5]: Leaving directory
> > `/usr/src/mpich2-1.4.1p1/src/mpi/romio/adio/ad_pvfs2'
>
> that's not one I've seen before.  Both PVFS_object_ref and
> PVFS_credentials are defined in pvfs2-types.h.
>
> We do conditionally include pvfs2.h: (in ad_pvfs2.h)
>
> #ifdef HAVE_PVFS2_H
> #include "pvfs2.h"
> #endif
>
> So maybe your configure did not define HAVE_PVFS2_H ?  Normally in
> that case we abort the configure (you asked for PVFS2 but we can't
> find the headers).
>
> > Before tackling the errors I had a few preliminary questions. I was
> > wondering what version of PVFS2 and MPICH2 are actually known to work
> > together? Am I trying a more advanced version of either of the two and
> > hence running into an error? From what I have there are some patch files
> > for ROMIO but none for mpich2-1.4.1p1. All the patches are for earlier
> > versions.
>
> Yeah, you only need patches if for some reason you wanted to build an
> MPICH2 from 6 years ago.   You would actually have to try really hard
> to find a PVFS and MPICH2 pair that were not compatible.
>
> There were changes to the PVFS API but when those changes were
> introduced, so to was a backwards-compatibility header.
>
> > Secondly, I see a sort of cyclic dependence between pvfs2 and
> > mpich2 where pvfs2 needs to be configured with the --with-mpi option
> where
> > we specify the mpi installation directory and as seen above mpich2 needs
> > the -with-pvfs2 option. My question is what is the correct order of doing
> > the two installations? Is it pvfs2 and then mpich2 (seems like so)? Also
> am
> > I setting these configure options incorrectly?
>
> The '--with-mpi' option helps build some PVFS MPI tests.   The build
> and install order goes:
>
> - configure/build/install PVFS
> - configure/build/install  MPICH2
> - then if you want the MPI-based tests, configure/build/install PVFS
>  one more time.
>
> ==rob
>
> --
> Rob Latham
> Mathematics and Computer Science Division
> Argonne National Lab, IL USA
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20111207/5491d1e6/attachment.htm


More information about the Pvfs2-developers mailing list