[mpich-discuss] Linking problem
Kunal Rao
kunalgrao at gmail.com
Tue Oct 5 16:48:46 CDT 2010
Hi Anthony
Thanks for your suggestion. I would like to do it the other way round.
i.e. build library as well with 64-bit and link with
my 64-bit application. What do I need to do for that ? Install some other
version of gcc for cygwin ? If yes, which version
and how do I do that ?
Thanks & Regards,
Kunal
On Tue, Oct 5, 2010 at 5:41 PM, <chan at mcs.anl.gov> wrote:
>
> ----- "Kunal Rao" <kunalgrao at gmail.com> wrote:
>
>
> > 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
>
> > Also, just to confirm, cygwin should be able to build 64-bit library
> > with gcc and gfortran, right ?
>
> It appears your cygwin gcc installation supports only 32-bit build.
> Can you try building everything in 32-bit, including your fortran app.
>
> A.Chan
>
> >
> > 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
> > >
> > >
> >
> > _______________________________________________
> > 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/9b721cd1/attachment-0001.htm>
More information about the mpich-discuss
mailing list