[petsc-users] petsc with hypre on Windows

Farshid Mossaiby mossaiby at yahoo.com
Mon Jul 26 03:49:55 CDT 2010


I would check the format of the library with 'dumpbin' tool, available from Visual Studio command propmpt.
 
Hope this helps to identify the problem.

--- On Mon, 7/26/10, Dominik Szczerba <dominik at itis.ethz.ch> wrote:


From: Dominik Szczerba <dominik at itis.ethz.ch>
Subject: Re: [petsc-users] petsc with hypre on Windows
To: "PETSc users list" <petsc-users at mcs.anl.gov>
Date: Monday, July 26, 2010, 1:10 PM


I just reinstalled MPICH to C: (and not the default location Program FIles). I also followed Barry and added --with-cxx="win32fe cl"

Now I am getting errors when linking to hypre. BOTH hypre and petsc are compiled with MSVC 2008 64bit (configured with cygwin). The library is called libHYPRE.a, and as I watched it compile 'cl' was used for compilation. It failed to link (*.lib not found) as *.a so I renamed it to libHYPRE.lib. Now the error is:

Executing: /cygdrive/c/Users/Dominik/Programs/petsc-3.1-p3/bin/win32fe/win32fe cl  -o conftest.exe    -MT -wd4996  conftest.o  -L/cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/lib -L/cygdri
ve/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/lib -lHYPRE /cygdrive/c/MPICH2/lib/fmpich2.lib /cygdrive/c/MPICH2/lib/fmpich2g.lib /cygdrive/c/MPICH2/lib/mpi.lib -L/cygdrive/c/Users/Dominik/Program
s/petsc-3.1-p3/win64-msvc-release/lib -L/cygdrive/c/Users/Dominik/Programs/petsc-3.1-p3/win64-msvc-release/lib -lf2clapack -L/cygdrive/c/Users/Dominik/Programs/petsc-3.1-p3/win64-msvc-release/lib -L/c
ygdrive/c/Users/Dominik/Programs/petsc-3.1-p3/win64-msvc-release/lib -lf2cblas Ws2_32.lib
sh: C:\Users\Dominik\Programs\HYPRE-~1.0B\src\hypre\lib\libHYPRE.lib : warning LNK4003: invalid library format; library ignored

I configured with:
--with-mpi-dir=/cygdrive/c/MPICH2/ --with-hypre-dir=/cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/

but:

$ ls -la /cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/lib
total 8624
drwxr-xr-x+ 1 Dominik None       0 2010-07-26 10:17 .
drwxr-xr-x+ 1 Dominik None       0 2010-07-23 23:07 ..
-rw-r--r--+ 1 Dominik None 8830476 2010-07-23 23:13 libHYPRE.lib

How can I go on from here?

Regards,
Dominik


On Sun, Jul 25, 2010 at 11:10 PM, Dominik Szczerba <dominik at itis.ethz.ch> wrote:

Hi,

I am able to build petsc-3.1-p3 on Windows 7 64bit using native compiler (MSVC 2008) with:

./config/configure.py PETSC_DIR=$PWD PETSC_ARCH=win64-msvc-release --download-c-blas-lapack=1 --with-parmetis=1 --download-parmetis=1 --with-x=0 --with-debugging=0 --with-cc='win32fe cl' --with-fc=0

I also managed to build hypre-2.6.0b separately myself using the same compiler. Now the last problem is to build petsc with this external package (--download-hypre will fail). I add to the above configure line:

--with-hypre-dir=/cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/

but the configuration fails with:

*******************************************************************************
         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
-------------------------------------------------------------------------------
C++ error! mpi.h could not be located at: ['/cygdrive/c/Program Files/MPICH2/include']
*******************************************************************************

This error is clearly wrong as:

$ ls -la '/cygdrive/c/Program Files/MPICH2/include'
total 309
drwx------+ 1 SYSTEM SYSTEM  4096 2010-07-21 15:54 .
drwx------+ 1 SYSTEM SYSTEM  4096 2010-07-21 15:54 ..
-rwx------+ 1 SYSTEM SYSTEM  4776 2007-11-02 15:50 clog_commset.h
-rwx------+ 1 SYSTEM SYSTEM   696 2007-11-02 15:50 clog_const.h
-rwx------+ 1 SYSTEM SYSTEM   731 2010-02-22 16:22 clog_inttypes.h
-rwx------+ 1 SYSTEM SYSTEM  1272 2007-11-02 15:50 clog_uuid.h
-rwx------+ 1 SYSTEM SYSTEM   437 2007-11-02 15:50 mpe.h
-rwx------+ 1 SYSTEM SYSTEM 11021 2008-01-28 13:59 mpe_log.h
-rwx------+ 1 SYSTEM SYSTEM  1833 2007-11-02 15:50 mpe_logf.h
-rwx------+ 1 SYSTEM SYSTEM  1159 2007-11-02 15:50 mpe_misc.h
-rwx------+ 1 SYSTEM SYSTEM 55623 2010-02-22 16:22 mpi.h
-rwx------+ 1 SYSTEM SYSTEM  2439 2010-02-22 17:11 mpi.mod
-rwx------+ 1 SYSTEM SYSTEM 14731 2010-02-22 17:11 mpi_base.mod
-rwx------+ 1 SYSTEM SYSTEM 35003 2010-02-22 17:11 mpi_constants.mod
-rwx------+ 1 SYSTEM SYSTEM  8417 2010-02-22 17:11 mpi_sizeofs.mod
-rwx------+ 1 SYSTEM SYSTEM 97301 2010-02-22 16:22 mpicxx.h
-rwx------+ 1 SYSTEM SYSTEM 18610 2010-02-22 16:22 mpif.h
-rwx------+ 1 SYSTEM SYSTEM 16765 2010-02-22 16:22 mpio.h

Inspecting the log file shows:

Executing: g++ -c -o conftest.o  -Wall -Wwrite-strings -Wno-strict-aliasing -O    -I/cygdrive/c/Program\ Files/MPICH2/include conftest.cc

I think the error is in the white space in "Program Files". I failed to convince hypre to use the default system installation of MPICH. I *had* to make a hardcopy in C: to avoid the white space.

I am sending the log to the maintainters, just in case, because I saw more errors there too.

Any help is greatly appreciated.

Regards,
Dominik




      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100726/c2ecb835/attachment.htm>


More information about the petsc-users mailing list