[petsc-users] compiling 3.2 on Windows

Satish Balay balay at mcs.anl.gov
Tue Nov 8 20:55:55 CST 2011


What do you have for:

cd /cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/ dumpbin
/SYMBOLS libf2clapack.lib |grep dgetrs

For some reason configure is able to find ddot in libf2cblas.lib - but
not dgetrs in libf2clapack.lib [when invoked this way with
--with-blas-lib etc..]. And I don't understand why..

Satish

------------
balay at bucharest ~/petsc-3.2-p5/arch-mswin64/lib
$ dumpbin /symbols libf2clapack.lib |grep dgetrs
021 00000000 SECT4  notype ()    External     | dgetrs_
024 00000000 SECT5  notype       Static       | $pdata$dgetrs_
027 00000000 SECT6  notype       Static       | $unwind$dgetrs_
02D 00000000 SECT7  notype       Static       | ?notran@?1??dgetrs_@@9 at 9 (`dgetrs_'::`2'::notran)
02F 00000000 UNDEF  notype ()    External     | dgetrs_
013 00000000 UNDEF  notype ()    External     | dgetrs_
021 00000000 UNDEF  notype ()    External     | dgetrs_
021 00000000 UNDEF  notype ()    External     | dgetrs_

balay at bucharest ~/petsc-3.2-p5/arch-mswin64/lib
$

<<<<<<<<<from configure.log>>>>>>>>>>.
              Checking for function ddot_ in library ['/cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2cblas.lib'] []
<snip>
                Defined "HAVE_LIBF2CBLAS" to "1"
                Popping language C



              Checking for function dgetrs_ in library ['/cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2clapack.lib'] ['/cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2cblas.lib']
                Pushing language C
<snip>
sh: conftest.obj : error LNK2019: unresolved external symbol dgetrs_ referenced in function main
C:\cygwin\tmp\PETSC-~3\CONFIG~1.LIB\conftest.exe : fatal error LNK1120: 1 unresolved externals
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


On Tue, 8 Nov 2011, Matthew Knepley wrote:

> On Tue, Nov 8, 2011 at 10:10 PM, Dominik Szczerba <dominik at itis.ethz.ch>wrote:
> 
> > I tried to force using the - seemingly properly compiled - blas/lapack
> > libs with:
> >
> > ./config/configure.py PETSC_DIR=$PWD PETSC_ARCH=win64-msvc-release
> > --with-x=0 --with-debugging=0 --with-cc='win32fe cl'
> > --with-cxx='win32fe cl' --with-fc=0
> > --with-mpi-dir=/cygdrive/c/mpich2-1.3.2p1-win-x86-64
> > --with-hypre-dir=/cygdrive/c/pack/hypre-2.7.0b/src/hypre/
> > --with-parmetis=1 --download-parmetis=1
> >
> > --with-blas-lib=/cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2cblas.lib
> >
> > --with-lapack-lib=/cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2clapack.lib
> >
> > I get the error:
> >
> >
> > *******************************************************************************
> >         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for
> > detail
> > s):
> >
> > -------------------------------------------------------------------------------
> > You set a value for --with-blas-lib=<lib> and --with-lapack-lib=<lib>, but
> > ['/cy
> > gdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2cblas.lib'] and
> > ['/cygdri
> > ve/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2clapack.lib'] cannot be
> > used
> >
> > *******************************************************************************
> >
> > Excerpt from configure.log:
> >
> > error LNK2019: unresolved external symbol dgetrs referenced in function
> > main
> >
> > I will send complete log to petsc-maint again.
> >
> 
> Send that and
> 'nm /cygdrive/c/pack/petsc-3.2-p5/win64-msvc-release/lib/libf2clapack.lib |
> grep dgetrs'
> 
> If you look in configure.log, it shows you the stub source we use to check
> the link and the
> compile line. You can easily test yourself.
> 
>     Matt
> 
> Any more hints?
> >
> > Thanks,
> > Dominik
> >
> > On Mon, Nov 7, 2011 at 3:57 PM, Dominik Szczerba <dominik at itis.ethz.ch>
> > wrote:
> > > I am configuring with:
> > >
> > > ./config/configure.py PETSC_DIR=$PWD PETSC_ARCH=win64-msvc-release
> > > --with-x=0 --with-debugging=0 --with-cc='win32fe cl'
> > > --with-cxx='win32fe cl' --with-fc=0 --download-f2cblaslapack
> > > --with-mpi-dir=/cygdrive/c/mpich2-1.3.2p1-win-x86-64
> > > --with-hypre-dir=/cygdrive/c/pack/hypre-2.7.0b/src/hypre/
> > > --with-parmetis=1 --download-parmetis=1
> > >
> > > and getting an error:
> > >
> > >
> > *******************************************************************************
> > >         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
> > > for details):
> > >
> > -------------------------------------------------------------------------------
> > > --download-f2cblaslapack libraries cannot be used
> > >
> > *******************************************************************************
> > >  File "./config/configure.py", line 283, in petsc_configure
> > >    framework.configure(out = sys.stdout)
> > >  File
> > "/cygdrive/c/pack/petsc-3.2-p5/config/BuildSystem/config/framework.py",
> > > line 925, in configure
> > >    child.configure()
> > >  File
> > "/cygdrive/c/pack/petsc-3.2-p5/config/BuildSystem/config/packages/BlasLapack.py",
> > > line 538, in configure
> > >    self.executeTest(self.configureLibrary)
> > >  File "/cygdrive/c/pack/petsc-3.2-p5/config/BuildSystem/config/base.py",
> > > line 115, in executeTest
> > >    ret = apply(test, args,kargs)
> > >  File
> > "/cygdrive/c/pack/petsc-3.2-p5/config/BuildSystem/config/packages/BlasLapack.py",
> > > line 444, in configureLibrary
> > >    for (name, blasLibrary, lapackLibrary, self.useCompatibilityLibs)
> > > in self.generateGuesses():
> > >  File
> > "/cygdrive/c/pack/petsc-3.2-p5/config/BuildSystem/config/packages/BlasLapack.py",
> > > line 162, in generateGuesses
> > >    raise RuntimeError('--download-f2cblaslapack libraries cannot be
> > used')
> > >
> > > I will send the full log to petsc-maint in a second. How do I go from
> > here?
> > >
> > > Thanks for any hints,
> > > Dominik
> > >
> >
> 
> 
> 
> 



More information about the petsc-users mailing list