Compiling PETSc with Visual Studio 2008

Satish Balay balay at mcs.anl.gov
Tue Apr 22 09:31:46 CDT 2008


On Tue, 22 Apr 2008, Farshid Mossaiby wrote:

> Dear Satish,
> 
> First, thanks for your reply.
> 
> > Hmm - not sure I understand this - but Cygwin is one
> > version of Python
> > & GNU utilities compiled for Windows.
> > 
> > What alternative are you thinking of?
> 
> I meant Python for Windows, what I can download from www.python.org,
> but as far as I am experiencing, it is not possible at least in case
> of Python.  On the machine I am testing on, Python was installed.
> Beginning to configure PETSc, I got an error about
> os.getuid(). Sorry, I missed the exact error message.  I installed
> the Python which comes with Cygwin and it went OK.

We need python and /bin/sh and other basic unix tools to use sam
*PATH* notation. cygwin python does this - but not others. [Others are
meant to handle c:\path stuff correctly]

> For other utilities, I was thinking of Interix (SUA in Windows 2008)
> for example...

If I remember correctly - SUA creates a posix subsystem - aka a
virtual machine. i.e you cannot call native binaries - or link with
native .dll files from this subsystem. i.e Win32fe won't be able to
invoke MS compiles [or link with libraries compiled with it - like
MPICH - Intel MKL etc..] from SUA

There is also MIGWIN tools - but it doesn't work [don't remember the
exact reason].

I don't see a need to support anything more than cygwin. Its primarily
used as means to build PETSc libraries.  Once the libraries are built
- the users are free to uninstall cygwin [if they dislike it]. But
there is not much benifit getting the buildsystem working with all
these alternatives. [esp - when its not trivial]

> Well, I have been able to reach second step of
> building PETSc ("make all test" currently running).
> The only error message I have got till now is:
> 
> Warning: win32fe: Path Not Found:
> c:\PROGRA~1\MICROS~1.0\SharedIDE\BIN
> 
> I am not sure what this means... There is no such
> path, but why win32fe searches for it? Anything
> related to version of Visual Studio?

This message can be ignored. 'win32fe --nodetect' should avoid this
piece of code. So one extra location where win32fe is used is [other
than compilers] with archving libraries. So the following should
disable this part aswell:

--with-ar='win32fe lib --nodetect'

Satish




More information about the petsc-dev mailing list