[mpich-discuss] Linking problem

Kunal Rao kunalgrao at gmail.com
Tue Oct 5 16:31:33 CDT 2010


Hi

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:

---------
gcc version 4.3.4 20090804 (release) 1 (GCC)
configure:2185: $? = 0
configure:2192: gcc -V >&5
gcc: '-V' option must have argument
configure:2195: $? = 1
configure:2218: checking for C compiler default output file name
configure:2245: gcc -m64   conftest.c  >&5
conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in
configure:2248: $? = 1
configure:2286: result:
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PNETCDF_VERSION_MAJOR 1
| #define PNETCDF_VERSION_MINOR 2
| #define PNETCDF_VERSION_SUB 0
| #define PNETCDF_VERSION_PRE
| #define PNETCDF_VERSION "1.2.0"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:2293: error: C compiler cannot create executables
---------------------------------------

Also, just to confirm, cygwin should be able to build 64-bit library with
gcc and gfortran, right ?

Thanks & Regards,
Kunal

On Tue, Oct 5, 2010 at 4:24 PM, Jayesh Krishna <jayesh at mcs.anl.gov> wrote:

> Hi,
>  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).
>  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.
>
> Regards,
> Jayesh
> ----- Original Message -----
> From: "Kunal Rao" <kunalgrao at gmail.com>
> To: "Jayesh Krishna" <jayesh at mcs.anl.gov>
> Cc: parallel-netcdf at lists.mcs.anl.gov, mpich-discuss at mcs.anl.gov
> Sent: Tuesday, October 5, 2010 2:29:36 PM GMT -06:00 US/Canada Central
> Subject: Re: [mpich-discuss] Linking problem (underscore prefix)
>
> Hi
>
>
> I have not used the MPICH2 installers (i.e. *.msi binary packages) for
> Windows. I have picked up the source code
> (mpich2-1.2.1p1.tar.gz) and did configure/make/make install in cygwin env.
> on Windows and then used this MPI implementation
> while building parallel netcdf.
>
>
> Thanks & Regards,
> Kunal
>
>
> On Tue, Oct 5, 2010 at 3:10 PM, Jayesh Krishna < jayesh at mcs.anl.gov >
> wrote:
>
>
> Hi,
> It looks like you have installed 32-bit versions of netcdf and using 64-bit
> version of MPICH2.
> 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.
>
>
> Regards,
> Jayesh
> ----- Original Message -----
> From: "Kunal Rao" < kunalgrao at gmail.com >
>
>
>
> To: mpich-discuss at mcs.anl.gov , parallel-netcdf at lists.mcs.anl.gov
> Sent: Monday, October 4, 2010 2:49:44 PM GMT -06:00 US/Canada Central
> Subject: Re: [mpich-discuss] Linking problem (underscore prefix)
>
>
> Hi
>
>
> Thanks for creating the bug report. Hope that will be fixed soon.
>
>
> 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).
>
>
>
> I tried using the objcopy tool to remove those prefixes from the library
> using:
>
>
> $objcopy --remove-leading-char libpnetcdf.lib libpnetcdf.lib
>
>
> It then removed all those underscore prefix from the symbols, but then
> while linking with the application, it gave the following error:
> --------
> libpnetcdf.lib(dim.o) : fatal error LNK1112: module machine type 'X86'
> conflicts with target machine type 'x64'
> -----
>
>
> 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.
>
>
> Thanks & Regards,
> Kunal
>
>
>
>
>
>
>
> On Mon, Oct 4, 2010 at 3:26 PM, < chan at mcs.anl.gov > wrote:
>
>
>
> Hi Kunal,
>
> Thanks for informing us the problem. There are bugs in Fortran77 binding
> configure tests that prevent one from using windows version of ifort on
> cygwin, namely these tests hardwire ".o" as object file extension instead
> of using the portable OBJEXT (same for EXEEXT). I created a bug report for
> this problem...
>
> https://trac.mcs.anl.gov/projects/mpich2/ticket/1111
>
> A.Chan
>
>
>
>
> ----- "Kunal Rao" < kunalgrao at gmail.com > wrote:
>
> > Hi Jayesh,
> >
> > Thanks for your reply. Well, I tried compiling MPICH2 with Intel
> > compiler
> > but it failed during "configure" with the following error message:
> >
> > -------------------
> >
> > configure: error: Unable to configure with Fortran support because
> > configure
> > could not determine the size of a Fortran INTEGER. Consider setting
> > CROSS_F77
> > _SIZEOF_INTEGER to the length in bytes of a Fortran INTEGER
> >
> > -------------------
> >
> > I am attaching the config.log created while configuring MPICH2 with
> > Intel
> > compiler.
> >
> > So as of now, MPICH2 and parallel netcdf are built with gcc and
> > gfortran.
> > Whereas my application is being built with Intel compiler (it is a
> > requirement to use Intel compiler). So, there is some naming
> > convention
> > issue here I guess.
> >
> > Thanks & Regards,
> > Kunal
> > On Mon, Oct 4, 2010 at 10:16 AM, Jayesh Krishna < jayesh at mcs.anl.gov >
> > wrote:
> >
> > > Hi,
> > > Did you try using the same compiler (Intel compiler) for building
> > MPICH2,
> > > netcdf & your application ?
> > >
> > > Regards,
> > > Jayesh
> > > ----- Original Message -----
> > > From: "Kunal Rao" < kunalgrao at gmail.com >
> > > To: mpich-discuss at mcs.anl.gov
> > > Cc: parallel-netcdf at lists.mcs.anl.gov
> > > Sent: Monday, October 4, 2010 11:19:04 AM GMT -06:00 US/Canada
> > Central
> > > Subject: Re: [mpich-discuss] Linking problem (underscore prefix)
> > >
> > >
> > > Hi
> > >
> > >
> > > As discussed before, I was able to create the parallel netcdf
> > library on
> > > Windows using the cygwin environment. I am having some issues while
> > linking
> > > this library with my application built with intel compilers ( I am
> > using
> > > intel compilers also through cygwin ).
> > >
> > >
> > > I know this kind of setup is not supported, but I would like to get
> > your
> > > inputs on this. Here is what I did:
> > >
> > >
> > > 1) The libpnetcdf.a library was created in /usr/local/lib folder. I
> > built
> > > libpnetcdf.lib library from this *.a library through the lib.exe
> > tool as
> > > follows:
> > >
> > >
> > > $ lib.exe /OUT:libpnetcdf.lib libpnetcdf.a
> > >
> > >
> > > 2) Now, I am trying to link this libpnetcdf.lib library with my
> > application
> > > ( using Intel compilers for building the application ). But while
> > linking, I
> > > am getting 28 unresolved external symbol (all related to the
> > libpnetcdf.lib
> > > library) errors such as this:
> > >
> > >
> > > ------------
> > > io_ncmpi_def_dims.o : error LNK2019: unresolved external symbol
> > > ncmpi_def_dim referenced in function io_ncmpi_def_dims_
> > > -----------
> > >
> > >
> > > 3) When I checked in io_ncmpi_def_dim.o file for the symbol using :
> > $
> > > dumpbin.exe /SYMBOLS io_ncmpi_def_dim.o
> > >
> > > I see this symbol as follows:
> > >
> > > -----------
> > > 008 00000000 UNDEF notype () External | ncmpi_def_dim
> > > -----------
> > >
> > >
> > >
> > > 4) When I check the same symbol in the libpnetcdf.lib library, I see
> > it as
> > > follows:
> > >
> > > -----------
> > > 01B 00000000 UNDEF notype () External | _ncmpi_def_dim
> > > -----------
> > >
> > >
> > >
> > > So basically, there is an underscore prefix in the symbol in the
> > library
> > > where as it is not there in the object file. Any thoughts on how to
> > resolve
> > > this ?
> > >
> > >
> > > Thanks & Regards,
> > > Kunal
> > >
> > >
> > > On Sat, Oct 2, 2010 at 7:11 PM, Kunal Rao < kunalgrao at gmail.com >
> > wrote:
> > >
> > >
> > > Hi
> > >
> > >
> > > I was able to configure and build the parallel netcdf library on
> > Windows
> > > using the cygwin environment and MPICH2 as the MPI implementation. I
> > still
> > > have to check if this library works with the application that I am
> > trying to
> > > link it to.
> > >
> > >
> > > Here are the steps that I have followed:
> > > a) Downloaded the MPICH2 source code (1.2.1p1) from
> > > http://www.mcs.anl.gov/research/projects/mpich2/
> > > b) Did the regular configure/make/make install steps in the cygwin
> > > environment in Windows.
> > > ( set C compiler as gcc and Fortran compiler as gfortran)
> > > c) Downloaded parallel netcdf (parallel-netcdf-1.2.0.tar.gz) from
> > > http://trac.mcs.anl.gov/projects/parallel-netcdf/wiki/Download
> > > d) Again, did the regular configure/make/make install steps for
> > parallel
> > > netcdf in cygwin environment in Windows and used the previously
> > built MPICH2
> > > as the mpi implementation ( for the --with-mpi option)
> > >
> > >
> > > The steps went fine and the libpnetcdf.a library has been built on
> > Windows
> > > through the cygwin environment. I will next check if this links
> > properly and
> > > works with the application.
> > >
> > >
> > > Thanks & Regards,
> > > Kunal
> > >
> > >
> > >
> > >
> > >
> > > On Sat, Oct 2, 2010 at 2:49 PM, Jayesh Krishna < jayesh at mcs.anl.gov
> > >
> > > wrote:
> > >
> > >
> > > Hi,
> > > As Rob mentioned the error might be due to the way netcdf checks for
> > MPI-IO
> > > support.
> > > Can you give us details on how you configure netcdf with MPICH2 ?
> > >
> > > (PS: MPI-IO is available with MPICH2 on windows even if you use the
> > > installers for your installation.)
> > >
> > >
> > > Regards,
> > > Jayesh
> > > ----- Original Message -----
> > > From: "Kunal Rao" < kunalgrao at gmail.com >
> > > To: mpich-discuss at mcs.anl.gov
> > >
> > >
> > >
> > > Sent: Saturday, October 2, 2010 12:08:52 PM GMT -06:00 US/Canada
> > Central
> > > Subject: Re: [mpich-discuss] query on MPICH2 on Windows
> > >
> > >
> > > Hi
> > >
> > >
> > > Initially, I had used the installers availabe at the MPICH 2 website
> > and
> > > that was giving the error mentioned before. I then, downloaded
> > > the source code and built MPICH2 from that (configure/make/make
> > install) in
> > > cygwin and linked this MPI while configuring parallel
> > > netcdf. Now, it is not giving that error and it moved ahead.
> > >
> > >
> > > Thanks & Regards,
> > > Kunal
> > >
> > >
> > > On Fri, Oct 1, 2010 at 8:18 PM, Jayesh Krishna < jayesh at mcs.anl.gov
> > >
> > > wrote:
> > >
> > >
> > > Hi,
> > > Did you build MPICH2 from source (configure/make/make install) under
> > cygwin
> > > environment ? Or did you install MPICH2 using installers available
> > at the
> > > MPICH2 website ?
> > >
> > > Regards,
> > > Jayesh
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "Kunal Rao" < kunalgrao at gmail.com >
> > > To: mpich-discuss at mcs.anl.gov
> > > Sent: Friday, October 1, 2010 5:01:38 PM GMT -06:00 US/Canada
> > Central
> > > Subject: [mpich-discuss] query on MPICH2 on Windows
> > >
> > >
> > >
> > > Hi
> > >
> > >
> > > Does MPICH2 on Microsoft Windows support MPI-IO ?
> > >
> > >
> > > I was checking on this site
> > > http://www.mcs.anl.gov/research/projects/romio/ where it says that
> > ROMIO
> > > is included as a part of MPICH 2.
> > >
> > >
> > > The reason I ask this is because I am trying to configure parallel
> > netcdf
> > > library on Windows through the cygwin environment. While doing
> > "configure"
> > > it stops with the following message:
> > >
> > >
> > >
> > > ----------------
> > >
> > >
> > > checking MPI-IO support in MPI implementation... configure: error:
> > mpi
> > > implementation does not support MPI-IO
> > >
> > >
> > > ---------------
> > >
> > >
> > > The MPI implementation I used is MPICH2 which I was assuming
> > supported
> > > MPI-IO on Windows as well. I tried using MSMPI but even that stopped
> > with
> > > the same message. Any thoughts on this ?
> > >
> > >
> > > Thanks & Regards,
> > > Kunal
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > mpich-discuss mailing list
> > > mpich-discuss at mcs.anl.gov
> > > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> > >
> > >
> > > _______________________________________________
> > > mpich-discuss mailing list
> > > mpich-discuss at mcs.anl.gov
> > > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> > >
> > >
> > >
> > > _______________________________________________
> > > mpich-discuss mailing list
> > > mpich-discuss at mcs.anl.gov
> > > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> > >
> >
> > _______________________________________________
> > mpich-discuss mailing list
> > mpich-discuss at mcs.anl.gov
> > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
>
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20101005/c9bc5a8c/attachment-0001.htm>


More information about the mpich-discuss mailing list