<div dir="ltr">Hi,<div><br></div><div>I would like to report a similar issue with mpich-3.1rc1 on Stampede cluster which is using Lustre 2.4 on login nodes.</div><div><br></div><div>Configure used:</div><div><i>./configure --enable-romio --with-file-system=lustre</i><br>


</div><div><br></div><div>Result:</div><div><div><i>make[3]: Entering directory `/work/01538/viennej/MPI/mpich-3.1rc1/src/mpi/romio'</i></div><div><i>  CC       adio/ad_lustre/ad_lustre_rwcontig.lo</i></div><div><i>/usr/include/sys/quota.h(221): error: identifier "caddr_t" is undefined</i></div>


<div><i>  <span style="white-space:pre-wrap">               </span>     caddr_t __addr) __THROW;</i></div></div><div><br></div><div>Thanks,</div><div>Jerome</div><div class="gmail_extra"><br clear="all"><div>--<br>Jerome Vienne, Ph.D<br>


HPC Software Tools Group<br>Texas Advanced Computing Center (TACC)<br><a href="mailto:viennej@tacc.utexas.edu" target="_blank">viennej@tacc.utexas.edu</a>  | Phone: (512) 475-9322<br>Office: ROC 1.455B          | Fax:     (512) 475-9445</div>



<br><br><div class="gmail_quote">On Wed, Oct 23, 2013 at 6:28 PM, Yan Li <span dir="ltr"><<a href="mailto:yanli@ucsc.edu" target="_blank">yanli@ucsc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hello,<br>
<br>
I'm trying to compile mpich-3.0.4 on CentOS 6.4 x86-64 running Lustre 2.4.0, which was installed by using RPMs from <a href="http://zfsonlinux.org/lustre.html" target="_blank">http://zfsonlinux.org/lustre.html</a><br>



<br>
Configure command used:<br>
./configure --prefix=/share/ --with-file-system=ufs+lustre<br>
<br>
There's a compilation error:<br>
<br>
~~~~ [snip] ~~~~<br>
 CC       adio/ad_lustre/ad_lustre_open.lo<br>
 CC       adio/ad_lustre/ad_lustre_rwcontig.lo<br>
In file included from /usr/include/linux/lustre_user.h:46,<br>
                from /usr/include/lustre/lustre_user.h:54,<br>
                from adio/ad_lustre/ad_lustre.h:30,<br>
                from adio/ad_lustre/ad_lustre_rwcontig.c:14:<br>
/usr/include/sys/quota.h:221: error: expected declaration specifiers or '...' before 'caddr_t'<br>
~~~~ [snip] ~~~~<br>
<br>
As you can see that the file ad_lustre_open.c compiles OK. The difference between it and ad_lustre_rwcontig.c is that the latter includes this line:<br>
#define _XOPEN_SOURCE 600<br>
before including the lustre header file.<br>
<br>
It seems to me that defining _XOPEN_SOURCE to 600 on Linux implies that caddr_t is defined somewhere else, suppressing the definition of caddr_t in <sys/types.h>, thus leads to the compilation error of <sys/quota.h>.<br>



<br>
Removing the definition of _XOPEN_SOURCE from ad_lustre_rwcontig.c seems fixed this problem, but I want to know why the definition was put there in the first place and whether removing it can cause any potential problem.<br>



<br>
Thanks for your help in advance.<br>
<br>
Yan Li<br>
Graduate Student Researcher,<br>
Storage Systems Research Center,<br>
Computer Science, University of California, Santa Cruz<br>
<br>
_______________________________________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
</blockquote></div><br></div></div>