Hi<div><br></div><div>Thanks for your reply. Yes, I guess that is what is happening. The parallel netcdf library must be built as 32-bit and my application is 64-bit. As per your suggestion, I added that -m64 flag while building parallel netcdf. But with that, the configure did not proceed further and gave this error message:</div>
<div><br></div><div>---------</div><div><div>gcc version 4.3.4 20090804 (release) 1 (GCC)</div><div>configure:2185: $? = 0</div><div>configure:2192: gcc -V >&5</div><div>gcc: '-V' option must have argument</div>
<div>configure:2195: $? = 1</div><div>configure:2218: checking for C compiler default output file name</div><div><font class="Apple-style-span" color="#FF0000">configure:2245: gcc -m64 conftest.c >&5</font></div>
<div><font class="Apple-style-span" color="#FF0000">conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in</font></div><div>configure:2248: $? = 1</div><div>configure:2286: result:</div><div>configure: failed program was:</div>
<div>| /* confdefs.h. */</div><div>| #define PACKAGE_NAME ""</div><div>| #define PACKAGE_TARNAME ""</div><div>| #define PACKAGE_VERSION ""</div><div>| #define PACKAGE_STRING ""</div>
<div>| #define PACKAGE_BUGREPORT ""</div><div>| #define PNETCDF_VERSION_MAJOR 1</div><div>| #define PNETCDF_VERSION_MINOR 2</div><div>| #define PNETCDF_VERSION_SUB 0</div><div>| #define PNETCDF_VERSION_PRE</div>
<div>| #define PNETCDF_VERSION "1.2.0"</div><div>| /* end confdefs.h. */</div><div>|</div><div>| int</div><div>| main ()</div><div>| {</div><div>|</div><div>| ;</div><div>| return 0;</div><div>| }</div><div>
<font class="Apple-style-span" color="#FF0000">configure:2293: error: C compiler cannot create executables</font></div><div>---------------------------------------</div><div><br></div><div>Also, just to confirm, cygwin should be able to build 64-bit library with gcc and gfortran, right ?</div>
<div><br></div><div>Thanks & Regards,</div><div>Kunal</div><br><div class="gmail_quote">On Tue, Oct 5, 2010 at 4:24 PM, Jayesh Krishna <span dir="ltr"><<a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
Ok, then it looks like your application is 64-bit (x64) and the netcdf library is compiled as a 32-bit library (Unless you have a fairly recent version of gcc - Not the ones installed using Cygwin installer from most repos - & you use -m64 flag to compile your code, the default builds are 32-bit).<br>
The error message states that you are trying to link x86 (IA32 - 32-bit) binary/lib with a x64 (x86_64 - 64-bit) binary/lib.<br>
<div class="im"><br>
Regards,<br>
Jayesh<br>
----- Original Message -----<br>
From: "Kunal Rao" <<a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a>><br>
</div><div><div></div><div class="h5">To: "Jayesh Krishna" <<a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a>><br>
Cc: <a href="mailto:parallel-netcdf@lists.mcs.anl.gov">parallel-netcdf@lists.mcs.anl.gov</a>, <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
Sent: Tuesday, October 5, 2010 2:29:36 PM GMT -06:00 US/Canada Central<br>
Subject: Re: [mpich-discuss] Linking problem (underscore prefix)<br>
<br>
Hi<br>
<br>
<br>
I have not used the MPICH2 installers (i.e. *.msi binary packages) for Windows. I have picked up the source code<br>
(mpich2-1.2.1p1.tar.gz) and did configure/make/make install in cygwin env. on Windows and then used this MPI implementation<br>
while building parallel netcdf.<br>
<br>
<br>
Thanks & Regards,<br>
Kunal<br>
<br>
<br>
On Tue, Oct 5, 2010 at 3:10 PM, Jayesh Krishna < <a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a> > wrote:<br>
<br>
<br>
Hi,<br>
It looks like you have installed 32-bit versions of netcdf and using 64-bit version of MPICH2.<br>
Uninstall the existing version of MPICH2 and install the 32-bit version (mpich2-1.2.1p1-win-ia32.msi) and let us know if it works.<br>
<br>
<br>
Regards,<br>
Jayesh<br>
----- Original Message -----<br>
From: "Kunal Rao" < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> ><br>
<br>
<br>
<br>
To: <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a> , <a href="mailto:parallel-netcdf@lists.mcs.anl.gov">parallel-netcdf@lists.mcs.anl.gov</a><br>
Sent: Monday, October 4, 2010 2:49:44 PM GMT -06:00 US/Canada Central<br>
Subject: Re: [mpich-discuss] Linking problem (underscore prefix)<br>
<br>
<br>
Hi<br>
<br>
<br>
Thanks for creating the bug report. Hope that will be fixed soon.<br>
<br>
<br>
Until then, do you guys have any suggestions, that I could try out ? I have parallel netcdf library built on Windows ( using gcc and gfortran while building MPICH2 and parallel netcdf ). Now while linking with my application built with Intel compiler, as discussed before, there is unresolved external symbol errors. ( prefix appended to the parallel netcdf symbols).<br>
<br>
<br>
<br>
I tried using the objcopy tool to remove those prefixes from the library using:<br>
<br>
<br>
$objcopy --remove-leading-char libpnetcdf.lib libpnetcdf.lib<br>
<br>
<br>
It then removed all those underscore prefix from the symbols, but then while linking with the application, it gave the following error:<br>
--------<br>
libpnetcdf.lib(dim.o) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'<br>
-----<br>
<br>
<br>
I am working on Windows Server 2008 R2, Enterprise Edition. Please let me know if you have any ideas/suggestions that I could try out.<br>
<br>
<br>
Thanks & Regards,<br>
Kunal<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Mon, Oct 4, 2010 at 3:26 PM, < <a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a> > wrote:<br>
<br>
<br>
<br>
Hi Kunal,<br>
<br>
Thanks for informing us the problem. There are bugs in Fortran77 binding<br>
configure tests that prevent one from using windows version of ifort on<br>
cygwin, namely these tests hardwire ".o" as object file extension instead<br>
of using the portable OBJEXT (same for EXEEXT). I created a bug report for<br>
this problem...<br>
<br>
<a href="https://trac.mcs.anl.gov/projects/mpich2/ticket/1111" target="_blank">https://trac.mcs.anl.gov/projects/mpich2/ticket/1111</a><br>
<br>
A.Chan<br>
<br>
<br>
<br>
<br>
----- "Kunal Rao" < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> > wrote:<br>
<br>
> Hi Jayesh,<br>
><br>
> Thanks for your reply. Well, I tried compiling MPICH2 with Intel<br>
> compiler<br>
> but it failed during "configure" with the following error message:<br>
><br>
> -------------------<br>
><br>
> configure: error: Unable to configure with Fortran support because<br>
> configure<br>
> could not determine the size of a Fortran INTEGER. Consider setting<br>
> CROSS_F77<br>
> _SIZEOF_INTEGER to the length in bytes of a Fortran INTEGER<br>
><br>
> -------------------<br>
><br>
> I am attaching the config.log created while configuring MPICH2 with<br>
> Intel<br>
> compiler.<br>
><br>
> So as of now, MPICH2 and parallel netcdf are built with gcc and<br>
> gfortran.<br>
> Whereas my application is being built with Intel compiler (it is a<br>
> requirement to use Intel compiler). So, there is some naming<br>
> convention<br>
> issue here I guess.<br>
><br>
> Thanks & Regards,<br>
> Kunal<br>
> On Mon, Oct 4, 2010 at 10:16 AM, Jayesh Krishna < <a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a> ><br>
> wrote:<br>
><br>
> > Hi,<br>
> > Did you try using the same compiler (Intel compiler) for building<br>
> MPICH2,<br>
> > netcdf & your application ?<br>
> ><br>
> > Regards,<br>
> > Jayesh<br>
> > ----- Original Message -----<br>
> > From: "Kunal Rao" < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> ><br>
> > To: <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > Cc: <a href="mailto:parallel-netcdf@lists.mcs.anl.gov">parallel-netcdf@lists.mcs.anl.gov</a><br>
> > Sent: Monday, October 4, 2010 11:19:04 AM GMT -06:00 US/Canada<br>
> Central<br>
> > Subject: Re: [mpich-discuss] Linking problem (underscore prefix)<br>
> ><br>
> ><br>
> > Hi<br>
> ><br>
> ><br>
> > As discussed before, I was able to create the parallel netcdf<br>
> library on<br>
> > Windows using the cygwin environment. I am having some issues while<br>
> linking<br>
> > this library with my application built with intel compilers ( I am<br>
> using<br>
> > intel compilers also through cygwin ).<br>
> ><br>
> ><br>
> > I know this kind of setup is not supported, but I would like to get<br>
> your<br>
> > inputs on this. Here is what I did:<br>
> ><br>
> ><br>
> > 1) The libpnetcdf.a library was created in /usr/local/lib folder. I<br>
> built<br>
> > libpnetcdf.lib library from this *.a library through the lib.exe<br>
> tool as<br>
> > follows:<br>
> ><br>
> ><br>
> > $ lib.exe /OUT:libpnetcdf.lib libpnetcdf.a<br>
> ><br>
> ><br>
> > 2) Now, I am trying to link this libpnetcdf.lib library with my<br>
> application<br>
> > ( using Intel compilers for building the application ). But while<br>
> linking, I<br>
> > am getting 28 unresolved external symbol (all related to the<br>
> libpnetcdf.lib<br>
> > library) errors such as this:<br>
> ><br>
> ><br>
> > ------------<br>
> > io_ncmpi_def_dims.o : error LNK2019: unresolved external symbol<br>
> > ncmpi_def_dim referenced in function io_ncmpi_def_dims_<br>
> > -----------<br>
> ><br>
> ><br>
> > 3) When I checked in io_ncmpi_def_dim.o file for the symbol using :<br>
> $<br>
> > dumpbin.exe /SYMBOLS io_ncmpi_def_dim.o<br>
> ><br>
> > I see this symbol as follows:<br>
> ><br>
> > -----------<br>
> > 008 00000000 UNDEF notype () External | ncmpi_def_dim<br>
> > -----------<br>
> ><br>
> ><br>
> ><br>
> > 4) When I check the same symbol in the libpnetcdf.lib library, I see<br>
> it as<br>
> > follows:<br>
> ><br>
> > -----------<br>
> > 01B 00000000 UNDEF notype () External | _ncmpi_def_dim<br>
> > -----------<br>
> ><br>
> ><br>
> ><br>
> > So basically, there is an underscore prefix in the symbol in the<br>
> library<br>
> > where as it is not there in the object file. Any thoughts on how to<br>
> resolve<br>
> > this ?<br>
> ><br>
> ><br>
> > Thanks & Regards,<br>
> > Kunal<br>
> ><br>
> ><br>
> > On Sat, Oct 2, 2010 at 7:11 PM, Kunal Rao < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> ><br>
> wrote:<br>
> ><br>
> ><br>
> > Hi<br>
> ><br>
> ><br>
> > I was able to configure and build the parallel netcdf library on<br>
> Windows<br>
> > using the cygwin environment and MPICH2 as the MPI implementation. I<br>
> still<br>
> > have to check if this library works with the application that I am<br>
> trying to<br>
> > link it to.<br>
> ><br>
> ><br>
> > Here are the steps that I have followed:<br>
> > a) Downloaded the MPICH2 source code (1.2.1p1) from<br>
> > <a href="http://www.mcs.anl.gov/research/projects/mpich2/" target="_blank">http://www.mcs.anl.gov/research/projects/mpich2/</a><br>
> > b) Did the regular configure/make/make install steps in the cygwin<br>
> > environment in Windows.<br>
> > ( set C compiler as gcc and Fortran compiler as gfortran)<br>
> > c) Downloaded parallel netcdf (parallel-netcdf-1.2.0.tar.gz) from<br>
> > <a href="http://trac.mcs.anl.gov/projects/parallel-netcdf/wiki/Download" target="_blank">http://trac.mcs.anl.gov/projects/parallel-netcdf/wiki/Download</a><br>
> > d) Again, did the regular configure/make/make install steps for<br>
> parallel<br>
> > netcdf in cygwin environment in Windows and used the previously<br>
> built MPICH2<br>
> > as the mpi implementation ( for the --with-mpi option)<br>
> ><br>
> ><br>
> > The steps went fine and the libpnetcdf.a library has been built on<br>
> Windows<br>
> > through the cygwin environment. I will next check if this links<br>
> properly and<br>
> > works with the application.<br>
> ><br>
> ><br>
> > Thanks & Regards,<br>
> > Kunal<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > On Sat, Oct 2, 2010 at 2:49 PM, Jayesh Krishna < <a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a><br>
> ><br>
> > wrote:<br>
> ><br>
> ><br>
> > Hi,<br>
> > As Rob mentioned the error might be due to the way netcdf checks for<br>
> MPI-IO<br>
> > support.<br>
> > Can you give us details on how you configure netcdf with MPICH2 ?<br>
> ><br>
> > (PS: MPI-IO is available with MPICH2 on windows even if you use the<br>
> > installers for your installation.)<br>
> ><br>
> ><br>
> > Regards,<br>
> > Jayesh<br>
> > ----- Original Message -----<br>
> > From: "Kunal Rao" < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> ><br>
> > To: <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> ><br>
> ><br>
> ><br>
> > Sent: Saturday, October 2, 2010 12:08:52 PM GMT -06:00 US/Canada<br>
> Central<br>
> > Subject: Re: [mpich-discuss] query on MPICH2 on Windows<br>
> ><br>
> ><br>
> > Hi<br>
> ><br>
> ><br>
> > Initially, I had used the installers availabe at the MPICH 2 website<br>
> and<br>
> > that was giving the error mentioned before. I then, downloaded<br>
> > the source code and built MPICH2 from that (configure/make/make<br>
> install) in<br>
> > cygwin and linked this MPI while configuring parallel<br>
> > netcdf. Now, it is not giving that error and it moved ahead.<br>
> ><br>
> ><br>
> > Thanks & Regards,<br>
> > Kunal<br>
> ><br>
> ><br>
> > On Fri, Oct 1, 2010 at 8:18 PM, Jayesh Krishna < <a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a><br>
> ><br>
> > wrote:<br>
> ><br>
> ><br>
> > Hi,<br>
> > Did you build MPICH2 from source (configure/make/make install) under<br>
> cygwin<br>
> > environment ? Or did you install MPICH2 using installers available<br>
> at the<br>
> > MPICH2 website ?<br>
> ><br>
> > Regards,<br>
> > Jayesh<br>
> ><br>
> ><br>
> ><br>
> > ----- Original Message -----<br>
> > From: "Kunal Rao" < <a href="mailto:kunalgrao@gmail.com">kunalgrao@gmail.com</a> ><br>
> > To: <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > Sent: Friday, October 1, 2010 5:01:38 PM GMT -06:00 US/Canada<br>
> Central<br>
> > Subject: [mpich-discuss] query on MPICH2 on Windows<br>
> ><br>
> ><br>
> ><br>
> > Hi<br>
> ><br>
> ><br>
> > Does MPICH2 on Microsoft Windows support MPI-IO ?<br>
> ><br>
> ><br>
> > I was checking on this site<br>
> > <a href="http://www.mcs.anl.gov/research/projects/romio/" target="_blank">http://www.mcs.anl.gov/research/projects/romio/</a> where it says that<br>
> ROMIO<br>
> > is included as a part of MPICH 2.<br>
> ><br>
> ><br>
> > The reason I ask this is because I am trying to configure parallel<br>
> netcdf<br>
> > library on Windows through the cygwin environment. While doing<br>
> "configure"<br>
> > it stops with the following message:<br>
> ><br>
> ><br>
> ><br>
> > ----------------<br>
> ><br>
> ><br>
> > checking MPI-IO support in MPI implementation... configure: error:<br>
> mpi<br>
> > implementation does not support MPI-IO<br>
> ><br>
> ><br>
> > ---------------<br>
> ><br>
> ><br>
> > The MPI implementation I used is MPICH2 which I was assuming<br>
> supported<br>
> > MPI-IO on Windows as well. I tried using MSMPI but even that stopped<br>
> with<br>
> > the same message. Any thoughts on this ?<br>
> ><br>
> ><br>
> > Thanks & Regards,<br>
> > Kunal<br>
> ><br>
> ><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > mpich-discuss mailing list<br>
> > <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > mpich-discuss mailing list<br>
> > <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
> ><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > mpich-discuss mailing list<br>
> > <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
> ><br>
><br>
> _______________________________________________<br>
> mpich-discuss mailing list<br>
> <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
_______________________________________________<br>
mpich-discuss mailing list<br>
<a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
<br>
<br>
_______________________________________________<br>
mpich-discuss mailing list<br>
<a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
<br>
</div></div></blockquote></div><br></div>