I have now managed to properly compile hypre natively and petsc configures correctly with it.<br>
However, I get errors during building.<br>
As requested I am sending win64-msvc-release/conf/configure.log to <a href="mailto:petsc-maint@mcs.anl.gov">petsc-maint@mcs.anl.gov</a><br>
Any hints are appreciated.<br>
<br>
Dominik<br>
<br>
mhyp.c<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(165) : error C2143: syntax error : missing ';' before 'type'<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(166) :
error C2275: 'hypre_AuxParCSRMatrix' : illegal use of this type as an
expression<br>
C:\Users\Dominik\Programs\HYPRE-~1.0B\src\hypre\include\_hypre_IJ_mv.h(82) : see declaration of 'hypre_AuxParCSRMatrix'<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(166) : error C2065: 'aux_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(167) :
error C2275: 'hypre_CSRMatrix' : illegal use of this type as an
expression<br>
c:\users\dominik\programs\hypre-2.6.0b\src\hypre\include\seq_mv.h(62) : see declaration of 'hypre_CSRMatrix'<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(167) : error C2065: 'hdiag' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(167) : error C2065: 'hoffd' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(167) : error C2100: illegal indirection<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(176) : error C2065: 'par_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(176) :
warning C4047: '=' : 'int' differs in levels of indirection from
'hypre_ParCSRMatrix *'<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(177) : error C2065: 'aux_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(177) :
warning C4047: '=' : 'int' differs in levels of indirection from
'hypre_AuxParCSRMatrix *'<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(178) : error C2065: 'hdiag' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(178) : error C2065: 'par_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(178) : error C2223: left of '->diag' must point to struct/union<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(179) : error C2065: 'hoffd' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(179) : error C2065: 'par_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(179) : error C2223: left of '->offd' must point to struct/union<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(185) : error C2065: 'hdiag' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(185) : error C2223: left of '->i' must point to struct/union<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(185) :
warning C4022: 'PetscMemcpy' : pointer mismatch for actual parameter 2<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(185) : error C2198: 'PetscMemcpy' : too few arguments for call<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(186) : error C2065: 'hdiag' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(186) : error C2223: left of '->j' must point to struct/union<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(186) :
warning C4022: 'PetscMemcpy' : pointer mismatch for actual parameter 2<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(186) : error C2198: 'PetscMemcpy' : too few arguments for call<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(187) : error C2065: 'hdiag' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(187) : error C2223: left of '->data' must point to struct/union<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(187) :
warning C4022: 'PetscMemcpy' : pointer mismatch for actual parameter 2<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(187) : error C2198: 'PetscMemcpy' : too few arguments for call<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(189) : error C2065: 'aux_matrix' : undeclared identifier<br>
C:\Users\Dominik\Programs\PETSC-~3.1-P\src\dm\da\utils\mhyp.c(189) :
error C2223: left of '->need_aux' must point to struct/union<br>
LINK : fatal error LNK1181: cannot open input file 'mhyp.o'<br>
<br><br><br>On Mon, Jul 26, 2010 at 2:00 PM, Wee-Beng TAY <span dir="ltr"><<a href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000">
Hi all,<br>
<br>
I actually tried compiling hypre 2.6b using windows. I can't remember
which version I'm using (Vs2005, 2008) but I followed the instructions
carefully and it worked. Compiling, linking in IDE are also ok.
However, only the C code work. The fortran code just can't work, even
after much help from the developers.<br>
<br>
Only the 2.6b version works with windows. However, I have not tried
using both hypre and PETSc in windows.<br>
<pre cols="72">Thank you very much and have a nice day!
Yours sincerely,
Wee-Beng Tay</pre><div><div></div><div>
<br>
On 7/26/2010 5:12 PM, Matthew Knepley wrote:
<blockquote type="cite">This is what we mean when we say that Hypre does not
support Windows. It really doesn't. You
<div>can try mailing their list, but I do not anticipate a response
other than "We do not support Windows".</div>
<div>The build system is completely broken for this platform, as you
have experienced. So, my conclusion</div>
<div>would be to</div>
<div><br>
</div>
<div> a) switch packages to something that does support Windows</div>
<div><br>
</div>
<div>or</div>
<div><br>
</div>
<div> b) switch platforms to something that Hypre supports</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt<br>
<br>
<div class="gmail_quote">On Mon, Jul 26, 2010 at 6:40 PM, Dominik
Szczerba <span dir="ltr"><<a href="mailto:dominik@itis.ethz.ch" target="_blank">dominik@itis.ethz.ch</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I
just reinstalled MPICH to C: (and not the default location Program
FIles). I also followed Barry and added --<span>with</span>-<span>cxx</span>="win32fe
cl"<br>
<br>
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:<br>
<br>
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<br>
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<br>
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<br>
ygdrive/c/Users/Dominik/Programs/petsc-3.1-p3/win64-msvc-release/lib
-lf2cblas Ws2_32.lib<br>
sh: C:\Users\Dominik\Programs\HYPRE-~1.0B\src\hypre\lib\libHYPRE.lib :
warning LNK4003: invalid library format; library ignored<br>
<br>
I configured with:<br>
--with-mpi-dir=/cygdrive/c/MPICH2/
--with-hypre-dir=/cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/<br>
<br>
but:<br>
<br>
$ ls -la /cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/lib<br>
total 8624<br>
drwxr-xr-x+ 1 Dominik None 0 2010-07-26 10:17 .<br>
drwxr-xr-x+ 1 Dominik None 0 2010-07-23 23:07 ..<br>
-rw-r--r--+ 1 Dominik None 8830476 2010-07-23 23:13 libHYPRE.lib<br>
<br>
How can I go on from here?<br>
<br>
Regards,<br>
Dominik<br>
<br>
<div class="gmail_quote">On Sun, Jul 25, 2010 at 11:10 PM, Dominik
Szczerba <span dir="ltr"><<a href="mailto:dominik@itis.ethz.ch" target="_blank">dominik@itis.ethz.ch</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I am able to build petsc-3.1-p3 on Windows 7 64bit using native
compiler (MSVC 2008) with:<br>
<br>
./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<br>
<br>
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:<br>
<br>
--with-hypre-dir=/cygdrive/c/Users/Dominik/Programs/hypre-2.6.0b/src/hypre/<br>
<br>
but the configuration fails with:<br>
<br>
*******************************************************************************<br>
UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log
for details):<br>
-------------------------------------------------------------------------------<br>
C++ error! mpi.h could not be located at: ['/cygdrive/c/Program
Files/MPICH2/include']<br>
*******************************************************************************<br>
<br>
This error is clearly wrong as:<br>
<br>
$ ls -la '/cygdrive/c/Program Files/MPICH2/include'<br>
total 309<br>
drwx------+ 1 SYSTEM SYSTEM 4096 2010-07-21 15:54 .<br>
drwx------+ 1 SYSTEM SYSTEM 4096 2010-07-21 15:54 ..<br>
-rwx------+ 1 SYSTEM SYSTEM 4776 2007-11-02 15:50 clog_commset.h<br>
-rwx------+ 1 SYSTEM SYSTEM 696 2007-11-02 15:50 clog_const.h<br>
-rwx------+ 1 SYSTEM SYSTEM 731 2010-02-22 16:22 clog_inttypes.h<br>
-rwx------+ 1 SYSTEM SYSTEM 1272 2007-11-02 15:50 clog_uuid.h<br>
-rwx------+ 1 SYSTEM SYSTEM 437 2007-11-02 15:50 mpe.h<br>
-rwx------+ 1 SYSTEM SYSTEM 11021 2008-01-28 13:59 mpe_log.h<br>
-rwx------+ 1 SYSTEM SYSTEM 1833 2007-11-02 15:50 mpe_logf.h<br>
-rwx------+ 1 SYSTEM SYSTEM 1159 2007-11-02 15:50 mpe_misc.h<br>
-rwx------+ 1 SYSTEM SYSTEM 55623 2010-02-22 16:22 mpi.h<br>
-rwx------+ 1 SYSTEM SYSTEM 2439 2010-02-22 17:11 mpi.mod<br>
-rwx------+ 1 SYSTEM SYSTEM 14731 2010-02-22 17:11 mpi_base.mod<br>
-rwx------+ 1 SYSTEM SYSTEM 35003 2010-02-22 17:11 mpi_constants.mod<br>
-rwx------+ 1 SYSTEM SYSTEM 8417 2010-02-22 17:11 mpi_sizeofs.mod<br>
-rwx------+ 1 SYSTEM SYSTEM 97301 2010-02-22 16:22 mpicxx.h<br>
-rwx------+ 1 SYSTEM SYSTEM 18610 2010-02-22 16:22 mpif.h<br>
-rwx------+ 1 SYSTEM SYSTEM 16765 2010-02-22 16:22 mpio.h<br>
<br>
Inspecting the log file shows:<br>
<br>
Executing: g++ -c -o conftest.o -Wall -Wwrite-strings
-Wno-strict-aliasing -O -I/cygdrive/c/Program\ Files/MPICH2/include
conftest.cc<br>
<br>
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.<br>
<br>
I am sending the log to the maintainters, just in case, because I saw
more errors there too.<br>
<br>
Any help is greatly appreciated.<br>
<br>
Regards,<br>
<font color="#888888">Dominik<br>
</font></blockquote>
</div>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.<br>
-- Norbert Wiener<br>
</div>
</blockquote>
</div></div></div>
</blockquote></div><br>