Linking problem (underscore prefix)

Kunal Rao kunalgrao at gmail.com
Mon Oct 4 11:19:04 CDT 2010


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


More information about the parallel-netcdf mailing list