<div dir="ltr">Hello,<div><br></div><div>I am trying to build PNetcdf 1.6.1 against Intel MPI 4.1.3.049.  I configure the build as:</div><div><br></div><div><div>export MPIF90=mpiifort</div><div>export MPIF77=mpiifort</div><div>export MPICC=mpiicc</div><div>export MPICXX=mpiicpc</div><div><br></div><div>make distclean</div><div>./configure --prefix=/home/Craig.Tierney/apps/pnetcdf/1.6.1-intel5-impi4</div></div><div><br></div><div>When I run make, I get the errors below. The error is being thrown inside of mpi.h.  Google searches indicate that this is caused by a conflict between settings in stdio.h/iostream and mpi.h.  The 5.0.3.048 version of Intel MPI handles this situation smarter.   There are enough people using PNetcdf, I would assume someone has solved this already.</div><div><br></div><div>Are there known workarounds for this issue?</div><div><br></div><div>Thanks,</div><div>Craig</div><div><br></div><div>Compiler Output:</div><div><br></div><div><div>make[2]: Entering directory `/misc/whome/Craig.Tierney/software/parallel-netcdf-1.6.1/src/libcxx'</div><div>/home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/bin/mpiicpc">4.1.3.049/intel64/bin/mpiicpc</a> -c -g -O2 -I. -I. -I../lib -DHAVE_CONFIG_H  ncmpiType.cpp</div><div>In file included from /home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpi.h(1279)">4.1.3.049/intel64/include/mpi.h(1279)</a>,</div><div>                 from ../lib/pnetcdf.h(10),</div><div>                 from ncmpiType.h(2),</div><div>                 from ncmpiType.cpp(2):</div><div>/home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpicxx.h(95)">4.1.3.049/intel64/include/mpicxx.h(95)</a>: error: #error directive: "SEEK_SET is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>  #error "SEEK_SET is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>   ^</div><div><br></div><div>In file included from /home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpi.h(1279)">4.1.3.049/intel64/include/mpi.h(1279)</a>,</div><div>                 from ../lib/pnetcdf.h(10),</div><div>                 from ncmpiType.h(2),</div><div>                 from ncmpiType.cpp(2):</div><div>/home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpicxx.h(99)">4.1.3.049/intel64/include/mpicxx.h(99)</a>: error: #error directive: "SEEK_CUR is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>  #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>   ^</div><div><br></div><div>In file included from /home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpi.h(1279)">4.1.3.049/intel64/include/mpi.h(1279)</a>,</div><div>                 from ../lib/pnetcdf.h(10),</div><div>                 from ncmpiType.h(2),</div><div>                 from ncmpiType.cpp(2):</div><div>/home/Craig.Tierney/apps/impi/<a href="http://4.1.3.049/intel64/include/mpicxx.h(104)">4.1.3.049/intel64/include/mpicxx.h(104)</a>: error: #error directive: "SEEK_END is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>  #error "SEEK_END is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"</div><div>   ^</div><div><br></div><div>compilation aborted for ncmpiType.cpp (code 2)</div><div>make[2]: *** [ncmpiType.o] Error 2</div></div></div>