I found that the attached patch I created helped me in compiling parallel-netcdf 1.1.0 with openmpi (version 1.2.7). Note that the patch should apply to the original parallel-netcdf 1.1.0 distribution. It contained addition fix (for C++ compiler) I reported early.<br>
<br clear="all">Best regards,<br><br>Rich Lee<br>SLAC National Accelerator Lab<br>
<br><br><div class="gmail_quote">On Tue, Nov 24, 2009 at 9:45 AM, Christoper Daley <span dir="ltr"><<a href="mailto:cdaley@flash.uchicago.edu" target="_blank">cdaley@flash.uchicago.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Kui,<br>
<br>
I applied the patch, and now get a different compilation error:<br>
<br>
<br>
mpinetcdf.c: In function ‘ncmpii_postprocess’:<br>
mpinetcdf.c:8249: error: incompatible type for argument 1 of ‘ncmpii_postread’<br>
mpinetcdf.c:8143: note: expected ‘nc_type’ but argument is of type ‘MPI_Datatype’<br>
mpinetcdf.c: In function ‘ncmpi_iget_var1’:<br>
mpinetcdf.c:8794: error: incompatible types when assigning to type ‘MPI_Datatype’ from type ‘nc_type’<br>
mpinetcdf.c: In function ‘ncmpi_iget_var’:<br>
mpinetcdf.c:9078: error: incompatible types when assigning to type ‘MPI_Datatype’ from type ‘nc_type’<br>
mpinetcdf.c: In function ‘ncmpi_iget_vara’:<br>
mpinetcdf.c:9372: error: incompatible types when assigning to type ‘MPI_Datatype’ from type ‘nc_type’<br>
mpinetcdf.c: In function ‘ncmpi_iget_vars’:<br>
mpinetcdf.c:9661: error: incompatible types when assigning to type ‘MPI_Datatype’ from type ‘nc_type’<br>
<br>
<br>
Chris<div><div></div><div><br>
<br>
<br>
Kui Gao wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Chris,<br>
Thank you very much for your report. It is a bug. "nc_type vartype" should be replaced by "MPI_Datatype vartype" at<br>
L66 in src/lib/pnetcdf.h . The patch file is attached.<br>
Thanks,<br>
<br>
Kui.<br>
<br>
-----Original Message-----<br>
From: <a href="mailto:parallel-netcdf-bounces@lists.mcs.anl.gov" target="_blank">parallel-netcdf-bounces@lists.mcs.anl.gov</a><br>
[mailto:<a href="mailto:parallel-netcdf-bounces@lists.mcs.anl.gov" target="_blank">parallel-netcdf-bounces@lists.mcs.anl.gov</a>] On Behalf Of Rob Ross<br>
Sent: Tuesday, November 24, 2009 8:37 AM<br>
To: Christoper Daley<br>
Cc: <a href="mailto:parallel-netcdf@lists.mcs.anl.gov" target="_blank">parallel-netcdf@lists.mcs.anl.gov</a><br>
Subject: Re: Compilation problem when using openmpi-1.3.3<br>
<br>
Yeah you're right that does look like a bug. Thanks! -- Rob<br>
<br>
On Nov 24, 2009, at 12:16 AM, Christoper Daley wrote:<br>
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
<br>
<br>
I'm unable to compile parallel-netcdf-1.1.0 with openmpi-1.3.3 compiler<br>
wrapper script (using gcc 4.4.2). I get the following compilation error:<br>
<br>
<br>
mpinetcdf.c:13216: error: incompatible types when assigning to type<br>
'nc_type' from type 'MPI_Datatype'<br>
<br>
(*request)->vartype = datatype;<br>
<br>
<br>
This looks like a bug to me as vartype is an enum field in the<br>
NCMPI_Req data structure.<br>
<br>
<br>
I am able to compile parallel-netcdf-1.1.0 with mpich2-1.1.1p1<br>
compiler wrapper script. I think this is because MPI_Datatype is<br>
a typedef for an integer in mpich, and so can be freely<br>
mixed with enum types. This is not the case in openmpi where<br>
MPI_Datatype is a typedef for a pointer to struct.<br>
<br>
<br>
Thanks for any help,<br>
Chris<br>
<br>
<br>
</blockquote></blockquote>
<br>
</div></div></blockquote></div><br>