building PETSc on Windows
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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? > > >