[mpich-discuss] Linking problem (underscore prefix)

Kunal Rao kunalgrao at gmail.com
Tue Oct 5 11:57:28 CDT 2010


Hi

  While I am trying to explore how to link this pnetcdf library built on
Windows (using MPICH2 and cygwin env.) with my application,
  I wanted to get some inputs from your side on one more thing.

  Any thoughts on linking parallel netcdf with MSMPI through cygwin
environment in Windows ?
  How much time / effort would that need ?

Thanks & Regards,
Kunal

On Mon, Oct 4, 2010 at 3:49 PM, Kunal Rao <kunalgrao at gmail.com> wrote:

> 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/20101005/ceeb0b80/attachment.htm>


More information about the parallel-netcdf mailing list