[mpich-discuss] Linking problem (underscore prefix)

Kunal Rao kunalgrao at gmail.com
Mon Oct 4 14:49:44 CDT 2010


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20101004/a808f21b/attachment.htm>


More information about the parallel-netcdf mailing list