building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
On Mon, Mar 23, 2009 at 1:02 PM, Matthew Knepley  wrote:
> On Mon, Mar 23, 2009 at 11:00 AM, Lisandro Dalcin  
> wrote:
>>
>> On Mon, Mar 23, 2009 at 10:57 AM, Satish Balay  wrote:
>> > The main issue is - win32fe works with cygwin PATHs - not windows
>> > paths..
>> >
>>
>> Sorry, I'm do not know what are you talking about ... Is win32fe a
>> compiler wrapper? Note I want to support the stock Python for win +
>> MinGW (outside cygwin) + MSYS (minimal system)...
>
> The issue here is supporting the Windows compilers. What you propose would
> probably work for gcc, but we use win32fe in order to support all the
> compilers
> made the MS programming environment.
>

Yes, but I want to start by supporting MinGW+MSYS, what's wrong with that?

Additionally, as I'm using stock Python for Windows, as long as
BuildSystem code consistely uses 'os.path.xxx' stuff for handling
path, we should end-up with native Windows paths...

To put it clear, I want you to help me fix a few oversights in
BuildSystem (with anyway make sense for any platform) and then
continue myself working on this... Perhaps I can end-up with a good
alternative, perhaps no...

-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
On Mon, Mar 23, 2009 at 1:05 PM, Satish Balay  wrote:
>
> The last I checked, when 'make,python' are selected - 'diffutils' is a
> dependent package - that gets installed. Perhaps some dependencies
> changed in the last few years - so I should list 'diffutils' in this
> list?
>

I believe I will not be able to confirm that without reinstalling
Cygwin from scratch... But I do not see way diffutils should be a
dependency for make or python...


-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
On Mon, Mar 23, 2009 at 11:48 AM, Matthew Knepley  wrote:
>
>>
>> 2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
>> to find "sh" in the $PATH instead...
>
> Where is this assumption? In BuildSystem/config/programs.py we explicitly
> search for 'sh', so it is available, we just need to use it everywhere.
>

Check this file:

config/PETSc/utilities/petscdir.py

See the lines

  host   = config.base.Configure.executeShellCommand(self.shell+'
'+configGuess, log = self.framework.log)[0]
  output = config.base.Configure.executeShellCommand(self.shell+'
'+configSub+' '+host, log = self.framework.log)[0]

then see that 'self.shell' is naively defined to '/bin/sh' in
Script.__init__() in the file below

config/BuildSystem/script.py


-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
On Mon, Mar 23, 2009 at 11:00 AM, Satish Balay  wrote:
> On Mon, 23 Mar 2009, Satish Balay wrote:
>
>> The main issue is - win32fe works with cygwin PATHs - not windows paths..
>>
>> Satish
>>
>> On Mon, 23 Mar 2009, Lisandro Dalcin wrote:
>>
>> > The Cygwin way works, but let me say that it is a bit of pain... as a
>> > novice in this crapy environment, I've spent a lot of time just to get
>> > all the Cygwin stuff properly installed...
>
> BTW: The installation instructions list the cygwin modules one must install. 
> Are
> these instructions missing some modules?
>

Mmm.. not remember exactly righ now, but PETSc requires 'diff', and
that should be in 'diffutils' package...

>>
>
> (MS Windows only) Install cygwin package (including make, python modules) and 
> use cygwin shell.
>
> <<<
>
> Satish
>



-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
On Mon, Mar 23, 2009 at 10:57 AM, Satish Balay  wrote:
> The main issue is - win32fe works with cygwin PATHs - not windows paths..
>

Sorry, I'm do not know what are you talking about ... Is win32fe a
compiler wrapper? Note I want to support the stock Python for win +
MinGW (outside cygwin) + MSYS (minimal system)...

> Satish
>
> On Mon, 23 Mar 2009, Lisandro Dalcin wrote:
>
>> The Cygwin way works, but let me say that it is a bit of pain... as a
>> novice in this crapy environment, I've spent a lot of time just to get
>> all the Cygwin stuff properly installed...
>>
>> I'm exploring the possibility of using an alternative, that is, using
>> stock Python for Windows + MinGW + MSYS. MSYS provides a minimal
>> UNIX-like shell and bundles development utilities like make. IMHO, it
>> is a much lighter approach to Cygwin... I believe the alternative is
>> possible... However, I have some issues that have to be addressed, and
>> I would need your help...
>>
>> 1) As I'm using the stock Python for Windows, the "select" module does
>> not work on pipes.. Then the machinery for executing things in the
>> shell and get stdout and stderr stuff needs to be reeimplemented... Do
>> not worry about this, I can take this.
>>
>> 2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
>> to find "sh" in the $PATH instead...
>>
>> 3) When checking for make, BuildSystem uses 'strings' somewhere..
>> Again, I need strings to be searched in $PATH.
>>
>>
>> Can any of you try to fix (2) and (3) ? Anyway, that would be a good
>> change even for Unix-like systems, right?
>>
>>
>>
>
>



-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread KACVINSKY Tom
I had a similar problem.  I had to have our sysadmins install the diff
package *after* they had already installed the Python and make packages.
So it looks like the dependencies got changed...

Tom

-Original Message-
From: petsc-dev-bounces at mcs.anl.gov [mailto:petsc-dev-boun...@mcs.anl.gov] 
On Behalf Of Lisandro Dalcin
Sent: Monday, March 23, 2009 12:12 PM
To: For users of the development version of PETSc
Subject: Re: building PETSc on Windows

On Mon, Mar 23, 2009 at 1:05 PM, Satish Balay  wrote:
>
> The last I checked, when 'make,python' are selected - 'diffutils' is a
> dependent package - that gets installed. Perhaps some dependencies
> changed in the last few years - so I should list 'diffutils' in this
> list?
>

I believe I will not be able to confirm that without reinstalling
Cygwin from scratch... But I do not see way diffutils should be a
dependency for make or python...


-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Matthew Knepley
On Mon, Mar 23, 2009 at 11:09 AM, Lisandro Dalcin  wrote:

> On Mon, Mar 23, 2009 at 11:48 AM, Matthew Knepley 
> wrote:
> >
> >>
> >> 2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
> >> to find "sh" in the $PATH instead...
> >
> > Where is this assumption? In BuildSystem/config/programs.py we explicitly
> > search for 'sh', so it is available, we just need to use it everywhere.
> >
>
> Check this file:
>
> config/PETSc/utilities/petscdir.py
>
> See the lines
>
>  host   = config.base.Configure.executeShellCommand(self.shell+'
> '+configGuess, log = self.framework.log)[0]
>  output = config.base.Configure.executeShellCommand(self.shell+'
> '+configSub+' '+host, log = self.framework.log)[0]
>
> then see that 'self.shell' is naively defined to '/bin/sh' in
> Script.__init__() in the file below
>
> config/BuildSystem/script.py
>

Fixed. I left script the way it is, but fixed the configure stuff. I do not
want to
entangle config stuff in there. Let me know if this stuff works.

  Thanks,

 Matt


> --
> Lisandro Dalc?n
> ---
> Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
> Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
> Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
> PTLC - G?emes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090323/76b72724/attachment.html>


building PETSc on Windows

2009-03-23 Thread Satish Balay
On Mon, 23 Mar 2009, Lisandro Dalcin wrote:

> On Mon, Mar 23, 2009 at 1:05 PM, Satish Balay  wrote:
> >
> > The last I checked, when 'make,python' are selected - 'diffutils' is a
> > dependent package - that gets installed. Perhaps some dependencies
> > changed in the last few years - so I should list 'diffutils' in this
> > list?
> >
> 
> I believe I will not be able to confirm that without reinstalling
> Cygwin from scratch... But I do not see way diffutils should be a
> dependency for make or python...

perhaps it was part of 'cygwin base' package list..

Satish



building PETSc on Windows

2009-03-23 Thread Satish Balay
On Mon, 23 Mar 2009, Lisandro Dalcin wrote:

> On Mon, Mar 23, 2009 at 11:00 AM, Satish Balay  wrote:
> > On Mon, 23 Mar 2009, Satish Balay wrote:
> >
> >> The main issue is - win32fe works with cygwin PATHs - not windows paths..
> >>
> >> Satish
> >>
> >> On Mon, 23 Mar 2009, Lisandro Dalcin wrote:
> >>
> >> > The Cygwin way works, but let me say that it is a bit of pain... as a
> >> > novice in this crapy environment, I've spent a lot of time just to get
> >> > all the Cygwin stuff properly installed...
> >
> > BTW: The installation instructions list the cygwin modules one must 
> > install. Are
> > these instructions missing some modules?
> >
> 
> Mmm.. not remember exactly righ now, but PETSc requires 'diff', and
> that should be in 'diffutils' package...

The last I checked, when 'make,python' are selected - 'diffutils' is a
dependent package - that gets installed. Perhaps some dependencies
changed in the last few years - so I should list 'diffutils' in this
list?

Satish

> 
> >>
> >
> > (MS Windows only) Install cygwin package (including make, python modules) 
> > and use cygwin shell.
> >
> > <<<
> >
> > Satish
> >
> 
> 
> 
> 




building PETSc on Windows

2009-03-23 Thread Satish Balay
On Mon, 23 Mar 2009, Lisandro Dalcin wrote:

> On Mon, Mar 23, 2009 at 10:57 AM, Satish Balay  wrote:
> > The main issue is - win32fe works with cygwin PATHs - not windows paths..
> >
> 
> Sorry, I'm do not know what are you talking about ... Is win32fe a
> compiler wrapper? Note I want to support the stock Python for win +
> MinGW (outside cygwin) + MSYS (minimal system)...

Sorry - win32fe is for MS compilers - and you want to use MinGW gcc -
so ignore my previous comment..

Satish



building PETSc on Windows

2009-03-23 Thread Matthew Knepley
On Mon, Mar 23, 2009 at 11:00 AM, Lisandro Dalcin  wrote:

> On Mon, Mar 23, 2009 at 10:57 AM, Satish Balay  wrote:
> > The main issue is - win32fe works with cygwin PATHs - not windows paths..
> >
>
> Sorry, I'm do not know what are you talking about ... Is win32fe a
> compiler wrapper? Note I want to support the stock Python for win +
> MinGW (outside cygwin) + MSYS (minimal system)...


The issue here is supporting the Windows compilers. What you propose would
probably work for gcc, but we use win32fe in order to support all the
compilers
made the MS programming environment.

  Matt


>
> > Satish
>
-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090323/af35e5cf/attachment.html>


building PETSc on Windows

2009-03-23 Thread Lisandro Dalcin
The Cygwin way works, but let me say that it is a bit of pain... as a
novice in this crapy environment, I've spent a lot of time just to get
all the Cygwin stuff properly installed...

I'm exploring the possibility of using an alternative, that is, using
stock Python for Windows + MinGW + MSYS. MSYS provides a minimal
UNIX-like shell and bundles development utilities like make. IMHO, it
is a much lighter approach to Cygwin... I believe the alternative is
possible... However, I have some issues that have to be addressed, and
I would need your help...

1) As I'm using the stock Python for Windows, the "select" module does
not work on pipes.. Then the machinery for executing things in the
shell and get stdout and stderr stuff needs to be reeimplemented... Do
not worry about this, I can take this.

2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
to find "sh" in the $PATH instead...

3) When checking for make, BuildSystem uses 'strings' somewhere..
Again, I need strings to be searched in $PATH.


Can any of you try to fix (2) and (3) ? Anyway, that would be a good
change even for Unix-like systems, right?


-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



C/F blas/lapack (tying to build in cygwin)

2009-03-23 Thread Lisandro Dalcin
On Sat, Mar 21, 2009 at 8:05 PM, Barry Smith  wrote:
>
> ? The cblaslapack binding does not, in general, match any particular Fortran
> compiler, thus calling cblaslapack from some Fortran compiler might not
> work. To prevent this situation we have the check that you hit below.
>

OK, I see... it make sense...

> ? It would be good to figure out why gfortran could not handle the
> f-blas-lapack and fix it, please send us the configure.log file if you still
> have it.
>

I suspect the cygwin gfrotran from GCC4 is perhaps a bit datated, but
I'll need to confirm this (I'm using all this windows crap at home).
I'll try again and send the configure log...

>
> One could argue that we shouldn't worry about this and let the user screw
> themselves but generally our model is to make it difficult for PETSc users
> to screw themselves.
>

OK, now I agree this is a good thing ...

>
>
>
>> The theory is when fortran compiler exists - f-blas-lapack should
>> always work.
>>
>> And when a fortran compiler exists - its name-mangling might not match
>> the cblas namemangling... [so clblaslapack with fc is disabled]
>>
>> Satish
>>
>> On Sat, 21 Mar 2009, Lisandro Dalcin wrote:
>>
>>> I was trying to build petsc-dev on win32+cygwin using GCC 4. For some
>>> reason I did not investigate, gfortran failed to build f-blas-lapack,
>>> then re-ran configure like below. Why you do not let me use a
>>> c-blas-lapack despite the fact that I have a Fortran compiler?
>>>
>>> $ python config/configure.py --with-cc=gcc --with-fc=gfortran
>>> --download-c-blas-lapack=1 --with-mpi=0
>>>
>>> =
>>> ? ? ? ? ? ?Configuring PETSc to compile on your system
>>>
>>> =
>>> TESTING: configureLibrary from
>>>
>>> config.packages.BlasLapack(config/BuildSystem/config/packages/BlasLapack.py:429)
>>>
>>>
>>> *
>>> ? ? ? ?UNABLE to CONFIGURE with GIVEN OPTIONS ? ?(see configure.log
>>> for details):
>>>
>>> ---
>>> Should request f-blas-lapack, not --download-c-blas-lapack=yes since
>>> you have a fortran compiler?
>>>
>>> *
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>



-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



building PETSc on Windows

2009-03-23 Thread Matthew Knepley
On Mon, Mar 23, 2009 at 8:23 AM, Lisandro Dalcin  wrote:

> The Cygwin way works, but let me say that it is a bit of pain... as a
> novice in this crapy environment, I've spent a lot of time just to get
> all the Cygwin stuff properly installed...
>
> I'm exploring the possibility of using an alternative, that is, using
> stock Python for Windows + MinGW + MSYS. MSYS provides a minimal
> UNIX-like shell and bundles development utilities like make. IMHO, it
> is a much lighter approach to Cygwin... I believe the alternative is
> possible... However, I have some issues that have to be addressed, and
> I would need your help...
>
> 1) As I'm using the stock Python for Windows, the "select" module does
> not work on pipes.. Then the machinery for executing things in the
> shell and get stdout and stderr stuff needs to be reeimplemented... Do
> not worry about this, I can take this.
>
> 2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
> to find "sh" in the $PATH instead...


Where is this assumption? In BuildSystem/config/programs.py we explicitly
search for 'sh', so it is available, we just need to use it everywhere.


>
> 3) When checking for make, BuildSystem uses 'strings' somewhere..
> Again, I need strings to be searched in $PATH.


Okay, I fixed this.

  Matt


>
> Can any of you try to fix (2) and (3) ? Anyway, that would be a good
> change even for Unix-like systems, right?
>
>
> --
> Lisandro Dalc?n
> ---
> Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
> Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
> Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
> PTLC - G?emes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090323/8ae99161/attachment.html>


building PETSc on Windows

2009-03-23 Thread Satish Balay
On Mon, 23 Mar 2009, Satish Balay wrote:

> The main issue is - win32fe works with cygwin PATHs - not windows paths..
> 
> Satish
> 
> On Mon, 23 Mar 2009, Lisandro Dalcin wrote:
> 
> > The Cygwin way works, but let me say that it is a bit of pain... as a
> > novice in this crapy environment, I've spent a lot of time just to get
> > all the Cygwin stuff properly installed...

BTW: The installation instructions list the cygwin modules one must install. Are
these instructions missing some modules?

>

(MS Windows only) Install cygwin package (including make, python modules) and 
use cygwin shell.

<<<

Satish



building PETSc on Windows

2009-03-23 Thread Satish Balay
The main issue is - win32fe works with cygwin PATHs - not windows paths..

Satish

On Mon, 23 Mar 2009, Lisandro Dalcin wrote:

> The Cygwin way works, but let me say that it is a bit of pain... as a
> novice in this crapy environment, I've spent a lot of time just to get
> all the Cygwin stuff properly installed...
> 
> I'm exploring the possibility of using an alternative, that is, using
> stock Python for Windows + MinGW + MSYS. MSYS provides a minimal
> UNIX-like shell and bundles development utilities like make. IMHO, it
> is a much lighter approach to Cygwin... I believe the alternative is
> possible... However, I have some issues that have to be addressed, and
> I would need your help...
> 
> 1) As I'm using the stock Python for Windows, the "select" module does
> not work on pipes.. Then the machinery for executing things in the
> shell and get stdout and stderr stuff needs to be reeimplemented... Do
> not worry about this, I can take this.
> 
> 2) BuildSystem assumes that the shell is '/bin/sh'... I would need it
> to find "sh" in the $PATH instead...
> 
> 3) When checking for make, BuildSystem uses 'strings' somewhere..
> Again, I need strings to be searched in $PATH.
> 
> 
> Can any of you try to fix (2) and (3) ? Anyway, that would be a good
> change even for Unix-like systems, right?
> 
> 
>