changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Todd Munson

I just downloaded the new updates and tried configuring the development
version and get the following python errors...It may be a problem on my
side.  I'll try with a new clone of the repository...

akita % ./config/configure.py --with-c++
=
Configuring PETSc to compile on your system
=*
UNABLE to FIND MODULE for config/configure.py
---
No module named Fiat
*

  File "./config/configure.py", line 175, in petsc_configure
framework =
config.framework.Framework(sys.argv[1:]+['--configModules=PETSc.Configure','--optionsModule=PETSc.compilerOptions'],
loadArgDB = 0)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 91, in __init__
self.createChildren()
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 317, in createChildren
self.getChild(moduleName)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 302, in getChild
config.setupDependencies(self)
  File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/Configure.py",
line 44, in setupDependencies
utilityObj  =
self.framework.require('PETSc.'+d+'.'+utilityName, self)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 322, in require
config = self.getChild(moduleName, keywordArgs)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 302, in getChild
config.setupDependencies(self)
  File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/packages/FFC.py",
line 11, in setupDependencies
self.fiat = self.framework.require('config.packages.Fiat', self)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 322, in require
config = self.getChild(moduleName, keywordArgs)
  File
"/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
line 275, in getChild
type   = __import__(moduleName, globals(), locals(),
['Configure']).Configureakita %



!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!
Todd Munson  (630) 252-4279  office
Argonne National Laboratory  (630) 252-5986  fax
9700 S. Cass Ave.tmunson at mcs.anl.gov
Argonne, IL 60439http://www.mcs.anl.gov/~tmunson


On Sun, 10 Jun 2007, Barry Smith wrote:

>
>
> On Sun, 10 Jun 2007, Matthew Knepley wrote:
>
> > This is very vague concerning the structure of exernalpackages. I cannot 
> > tell
> > where libraries are supposed to end up, and how/when/why they might be 
> > moved.
>
>   They end up in
>
>$PETSC_ARCH/lib (same place as PETSc libraries, without a make install) and
>prefix/lib  (with a make install)
>
> > It seems that the directory information coming from PETSc/package.py
> > has also changed.
>
>Yes. package.py had a /lib hardwired to the end of the install directory
> returned by the particular package. Now the particular packages set the
> entire path where the library goes (that is a /lib is not automatically
> appended).
>
>Barry
>
> >
> >   Matt
> >
> > On 6/8/07, Barry Smith  wrote:
> > >
> > >   PETSc-dev users,
> > >
> > > After picking Satish's brain, I have made a set of changes to
> > > petsc-dev related to compiling and linking programs.
> > >
> > >Goal:  Support the GNU; config/configure.py; make; make install model
> > > including all external packages PETSc builds for you. After "make install"
> > > PETSC_ARCH should not be needed.
> > >
> > >Constraints:
> > > * Allow skipping the "make install" step and yet having everything
> > > fully functional even with shared and dynamic libraries
> > > * Allow multiple builds in the non-"make install" approach which you can
> > > switch between by changing PETSC_ARCH
> > > * Not require any file links
> > > * A system that does not mix generated files and non-generated in the same
> > > directory in $PETSC_DIR
> > > * A system no more complicated then the previous version.
> > >
> > >   Solution:
> > >
> > > In place, before "make install"
> > >
> > > petsc-dev/include  same as now
> > >  /bin  same as now
> > >  /conf basically the same as bmake/common was
> > >  $PETSC_ARCH/include   generated includes: petscconf.h
> > > petscfix.h ..
> > >  lib   generated libraries
> > >  bin   generated programs
> > >  conf  basically the same as 
> > > bmake/$PETSC_ARCH/
> > > 

changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Matthew Knepley
Maybe you have an old BuildSystem?

  Matt

On 6/11/07, Todd Munson  wrote:
>
> I just downloaded the new updates and tried configuring the development
> version and get the following python errors...It may be a problem on my
> side.  I'll try with a new clone of the repository...
>
> akita % ./config/configure.py --with-c++
> =
> Configuring PETSc to compile on your system
> =*
> UNABLE to FIND MODULE for config/configure.py
> ---
> No module named Fiat
> *
>
>   File "./config/configure.py", line 175, in petsc_configure
> framework =
> config.framework.Framework(sys.argv[1:]+['--configModules=PETSc.Configure','--optionsModule=PETSc.compilerOptions'],
> loadArgDB = 0)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 91, in __init__
> self.createChildren()
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 317, in createChildren
> self.getChild(moduleName)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 302, in getChild
> config.setupDependencies(self)
>   File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/Configure.py",
> line 44, in setupDependencies
> utilityObj  =
> self.framework.require('PETSc.'+d+'.'+utilityName, self)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 322, in require
> config = self.getChild(moduleName, keywordArgs)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 302, in getChild
> config.setupDependencies(self)
>   File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/packages/FFC.py",
> line 11, in setupDependencies
> self.fiat = self.framework.require('config.packages.Fiat', self)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 322, in require
> config = self.getChild(moduleName, keywordArgs)
>   File
> "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> line 275, in getChild
> type   = __import__(moduleName, globals(), locals(),
> ['Configure']).Configureakita %
>
>
>
> !+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!
> Todd Munson  (630) 252-4279  office
> Argonne National Laboratory  (630) 252-5986  fax
> 9700 S. Cass Ave.tmunson at mcs.anl.gov
> Argonne, IL 60439http://www.mcs.anl.gov/~tmunson
>
>
> On Sun, 10 Jun 2007, Barry Smith wrote:
>
> >
> >
> > On Sun, 10 Jun 2007, Matthew Knepley wrote:
> >
> > > This is very vague concerning the structure of exernalpackages. I cannot 
> > > tell
> > > where libraries are supposed to end up, and how/when/why they might be 
> > > moved.
> >
> >   They end up in
> >
> >$PETSC_ARCH/lib (same place as PETSc libraries, without a make install) 
> > and
> >prefix/lib  (with a make install)
> >
> > > It seems that the directory information coming from PETSc/package.py
> > > has also changed.
> >
> >Yes. package.py had a /lib hardwired to the end of the install directory
> > returned by the particular package. Now the particular packages set the
> > entire path where the library goes (that is a /lib is not automatically
> > appended).
> >
> >Barry
> >
> > >
> > >   Matt
> > >
> > > On 6/8/07, Barry Smith  wrote:
> > > >
> > > >   PETSc-dev users,
> > > >
> > > > After picking Satish's brain, I have made a set of changes to
> > > > petsc-dev related to compiling and linking programs.
> > > >
> > > >Goal:  Support the GNU; config/configure.py; make; make install model
> > > > including all external packages PETSc builds for you. After "make 
> > > > install"
> > > > PETSC_ARCH should not be needed.
> > > >
> > > >Constraints:
> > > > * Allow skipping the "make install" step and yet having everything
> > > > fully functional even with shared and dynamic libraries
> > > > * Allow multiple builds in the non-"make install" approach which you can
> > > > switch between by changing PETSC_ARCH
> > > > * Not require any file links
> > > > * A system that does not mix generated files and non-generated in the 
> > > > same
> > > > directory in $PETSC_DIR
> > > > * A system no more complicated then the previous version.
> > > >
> > > >   Solution:
> > > >
> > > > In place, before "make install"
> > > >
> > > > petsc-dev/include  same as now
> > > >  /bin  same as now
> > > >  /conf basically the same as bmake/common 
> > > > was

changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Todd Munson

I had configured and built petsc-dev prior to updating to the new
configuration system.  That did not work...once the update happens
things get screwed up and nothing in the build system works.  Maybe the
BuildSystem module was old, but I would figure that it should get updated
when you check for its existence...

Anyway, I cloned a new copy of petsc-dev and everything now builds...

Cheers, Todd.

On Mon, 11 Jun 2007, Matthew Knepley wrote:

> Maybe you have an old BuildSystem?
>
>   Matt
>
> On 6/11/07, Todd Munson  wrote:
> >
> > I just downloaded the new updates and tried configuring the development
> > version and get the following python errors...It may be a problem on my
> > side.  I'll try with a new clone of the repository...
> >
> > akita % ./config/configure.py --with-c++
> > =
> > Configuring PETSc to compile on your system
> > =*
> > UNABLE to FIND MODULE for config/configure.py
> > ---
> > No module named Fiat
> > *
> >
> >   File "./config/configure.py", line 175, in petsc_configure
> > framework =
> > config.framework.Framework(sys.argv[1:]+['--configModules=PETSc.Configure','--optionsModule=PETSc.compilerOptions'],
> > loadArgDB = 0)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 91, in __init__
> > self.createChildren()
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 317, in createChildren
> > self.getChild(moduleName)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 302, in getChild
> > config.setupDependencies(self)
> >   File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/Configure.py",
> > line 44, in setupDependencies
> > utilityObj  =
> > self.framework.require('PETSc.'+d+'.'+utilityName, self)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 322, in require
> > config = self.getChild(moduleName, keywordArgs)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 302, in getChild
> > config.setupDependencies(self)
> >   File "/sandbox/tmunson/projects/petsc-dev/python/PETSc/packages/FFC.py",
> > line 11, in setupDependencies
> > self.fiat = self.framework.require('config.packages.Fiat', self)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 322, in require
> > config = self.getChild(moduleName, keywordArgs)
> >   File
> > "/sandbox/tmunson/projects/petsc-dev/python/BuildSystem/config/framework.py",
> > line 275, in getChild
> > type   = __import__(moduleName, globals(), locals(),
> > ['Configure']).Configureakita %
> >
> >
> >
> > !+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!+-+!
> > Todd Munson  (630) 252-4279  office
> > Argonne National Laboratory  (630) 252-5986  fax
> > 9700 S. Cass Ave.tmunson at mcs.anl.gov
> > Argonne, IL 60439http://www.mcs.anl.gov/~tmunson
> >
> >
> > On Sun, 10 Jun 2007, Barry Smith wrote:
> >
> > >
> > >
> > > On Sun, 10 Jun 2007, Matthew Knepley wrote:
> > >
> > > > This is very vague concerning the structure of exernalpackages. I 
> > > > cannot tell
> > > > where libraries are supposed to end up, and how/when/why they might be 
> > > > moved.
> > >
> > >   They end up in
> > >
> > >$PETSC_ARCH/lib (same place as PETSc libraries, without a make 
> > > install) and
> > >prefix/lib  (with a make install)
> > >
> > > > It seems that the directory information coming from PETSc/package.py
> > > > has also changed.
> > >
> > >Yes. package.py had a /lib hardwired to the end of the install 
> > > directory
> > > returned by the particular package. Now the particular packages set the
> > > entire path where the library goes (that is a /lib is not automatically
> > > appended).
> > >
> > >Barry
> > >
> > > >
> > > >   Matt
> > > >
> > > > On 6/8/07, Barry Smith  wrote:
> > > > >
> > > > >   PETSc-dev users,
> > > > >
> > > > > After picking Satish's brain, I have made a set of changes to
> > > > > petsc-dev related to compiling and linking programs.
> > > > >
> > > > >Goal:  Support the GNU; config/configure.py; make; make install 
> > > > > model
> > > > > including all external packages PETSc builds for you. After "make 
> > > > > install"
> > > > > PETSC_ARCH should not be needed.
> > > > >
> > > > >Constraints:
> > > > > * Allow skipping the "make install" step and yet having everything
> > > > > ful

changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Lisandro Dalcin
On 6/8/07, Barry Smith  wrote:
>Goal:  Support the GNU; config/configure.py; make; make install model
> including all external packages PETSc builds for you. After "make install"
> PETSC_ARCH should not be needed.

Barry, I really do not like this... this approach does not permit to
have many configurations installed under a common $PERSC_DIR.
Futhermore, the 'build' directory does not have de same structure as
the 'install' directory.

I have to strongly ask you for revert this and review the patch I
sended to petsc-maint. The 'bmake' plus 'lib/$PETSC_ARCH' approach was
really good for me. I know, following the GNU model is interesting and
compatible with normal practice... but I am definitely not sure if it
is the right way for a complex package like PETSc, were you can
compile it with many config options and many optional packages, and
have all this variantas fully functionaly available in a central
location...



>Constraints:
> * Allow skipping the "make install" step and yet having everything
> fully functional even with shared and dynamic libraries
> * Allow multiple builds in the non-"make install" approach which you can
> switch between by changing PETSC_ARCH
> * Not require any file links
> * A system that does not mix generated files and non-generated in the same
> directory in $PETSC_DIR
> * A system no more complicated then the previous version.
>
>   Solution:
>
> In place, before "make install"
>
> petsc-dev/include  same as now
>  /bin  same as now
>  /conf basically the same as bmake/common was
>  $PETSC_ARCH/include   generated includes: petscconf.h petscfix.h 
> ..
>  lib   generated libraries
>  bin   generated programs
>  conf  basically the same as bmake/$PETSC_ARCH/
>   except not the include files
>
> After "make install"
>
> prefix/include  all includes
>   /bin  all programs, including mpiexec, mpicc if 
> generated
>   /conf the stuff previous in bmake/common and 
> bmake/$PETSC_ARCH
>   /lib  the libraries, including from external 
> packages
>
> The whole trick is that in the PETSc bmake files (now conf files :-)) the 
> $PETSC_ARCH/
> disappears in the "make install" version.
>
> I have fixed the external packages MPI.py, BlasLapack.py and Chaco.py but the 
> others
> need to be modified to stick their libraries and includes in the new correct 
> place.
>
> The only change you should need to your makefiles is to replace
> include ${PETSC_DIR}/bmake/common/base with
> include ${PETSC_DIR}/conf/base
> Bug reports to petsc-maint at mcs.anl.gov questions to petsc-dev at 
> mcs.anl.gov
>
>Barry
>
>


-- 
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




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Satish Balay
On Mon, 11 Jun 2007, Todd Munson wrote:
> 
> I had configured and built petsc-dev prior to updating to the new
> configuration system.  That did not work...once the update happens
> things get screwed up and nothing in the build system works.  Maybe the
> BuildSystem module was old, but I would figure that it should get updated
> when you check for its existence...

http://www-unix.mcs.anl.gov/petsc/petsc-as/developers/index.html

you are supporsed to do
make pull

or pull each repo individually
cd petsc-dev
hg pull -u
cd python/BuildSystem
hg pull -u

Satish




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Satish Balay
On Mon, 11 Jun 2007, Lisandro Dalcin wrote:

> On 6/8/07, Barry Smith  wrote:
> >Goal:  Support the GNU; config/configure.py; make; make install model
> > including all external packages PETSc builds for you. After "make install"
> > PETSC_ARCH should not be needed.
> 
> Barry, I really do not like this... this approach does not permit to
> have many configurations installed under a common $PERSC_DIR.
> Futhermore, the 'build' directory does not have de same structure as
> the 'install' directory.
> 
> I have to strongly ask you for revert this and review the patch I
> sended to petsc-maint. The 'bmake' plus 'lib/$PETSC_ARCH' approach was
> really good for me. I know, following the GNU model is interesting and
> compatible with normal practice... but I am definitely not sure if it
> is the right way for a complex package like PETSc, were you can
> compile it with many config options and many optional packages, and
> have all this variantas fully functionaly available in a central
> location...

Lisandro,

There is nothing sepcial about having all installs inside a single
PETSC_DIR. However you can still have multiple configure installs by
specifying different 'prefix' for each configure. I believe this is
how autoconf/gnu install model is supporsed to work.

The way the 2 models [install and non-install] are equivalent is:

in the prefix model - the user specifies prefix just like any other
package. For eg:

--prefix=/usr/local --download-mpich

This should install both the packages [PETSc & MPI] in
/usr/local/[bin,include,lib]

In the non-prefix mode, this 'prefix' path '/usr/local/ is eqivalent
to $PETSC_DIR/$PETSC_ARCH. i.e all packages [PETSc & MPI] should be
installed inside:

$PETSC_DIR/$PETSC_ARCH/[bin,include,lib] etc..

I agree that there is a now a difference in usage in the install mode.
The user could switch between different configured builds by changing
PETSC_ARCH in the non-prefix model. In the install model, now the user
has to change PETSC_DIR to acomplish the same.

If you wish to have all all the libs inside a single PETSC_DIR, then
there is no reason to use 'install' model. [i.e you can install PETSc
in /usr/local/petsc using the non-install model. The sources take
extra speace. But at the same time, you benefit from them being
available during debugging]

Satish




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Lisandro Dalcin
On 6/11/07, Satish Balay  wrote:
> On Mon, 11 Jun 2007, Lisandro Dalcin wrote:
>
>
> There is nothing sepcial about having all installs inside a single
> PETSC_DIR.
> in the prefix model - the user specifies prefix just like any other
> package. For eg:
>
> --prefix=/usr/local --download-mpich
>
> This should install both the packages [PETSc & MPI] in
> /usr/local/[bin,include,lib]
>

I see the benefits now, I will try to update my build system for
petsc4py and see what happens...

Can you please tell me what would be now the correct way to
differentiate a 'build' mode and an 'install' mode? Just using
directory structure?


-- 
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




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Satish Balay
On Mon, 11 Jun 2007, Satish Balay wrote:

> However you can still have multiple configure installs by
> specifying different 'prefix' for each configure. I believe this is
> how autoconf/gnu install model is supporsed to work.

I should add that one motivation to support gnu/autoconf? 'make
insall' model as closly as possible - is to make it easy for
'packagers' [deb,rpm etc..] to package PETSc [atleast the default
config - whatever that means] and make it available for their
respective distributions. Currently we only have only debian/freebsd
packages - and nothing more.

And I'm hoping that these packagers have their own models for
installing multiple configs [via different prefix], so potentially
multiple variants of PETSc config can be packaged [if they chose to do
it].

However I think the requirement of 'PETSC_DIR' might still be a minor
hurdle for this mode. [the alternative would be providing compiler
wrappers but thats a different discussion]

Satish




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Satish Balay
On Mon, 11 Jun 2007, Lisandro Dalcin wrote:

> On 6/11/07, Satish Balay  wrote:

> > There is nothing sepcial about having all installs inside a single
> > PETSC_DIR.  in the prefix model - the user specifies prefix just
> > like any other package. For eg:
> > 
> > --prefix=/usr/local --download-mpich
> > 
> > This should install both the packages [PETSc & MPI] in
> > /usr/local/[bin,include,lib]
> > 
> 
> I see the benefits now, I will try to update my build system for
> petsc4py and see what happens...
> 
> Can you please tell me what would be now the correct way to
> differentiate a 'build' mode and an 'install' mode? Just using
> directory structure?

If its based on PETSC_ARCH/PETSC_DIR from makefiles, things should
still work - [as PETSC_ARCH will be ignored by makefiles in the
prefix-install version]

Not sure what can be done or other 'automatic' detection
systems. Perhaps Barry has ideas on this.

Satish




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Lisandro Dalcin
On 6/11/07, Satish Balay  wrote:
> I should add that one motivation to support gnu/autoconf? 'make
> insall' model as closly as possible - is to make it easy for
> 'packagers' [deb,rpm etc..] to package PETSc

OK, this make sense... I'll try this when I have some free time, I've
been playing a bit generating rpm's for Fedora.


[atleast the default
> config - whatever that means] and make it available for their
> respective distributions. Currently we only have only debian/freebsd
> packages - and nothing more.
>
> And I'm hoping that these packagers have their own models for
> installing multiple configs [via different prefix], so potentially
> multiple variants of PETSc config can be packaged [if they chose to do
> it].
>
> However I think the requirement of 'PETSC_DIR' might still be a minor
> hurdle for this mode. [the alternative would be providing compiler
> wrappers but thats a different discussion]
>
> 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




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Lisandro Dalcin
I think 'conf/variables' needs a bit more of work. I am not sure about
what to do, the problem is here:

PETSC_LIB_DIR   = ${PETSC_DIR}/${PETSC_ARCH}/lib
PETSC_INCLUDE   = -I${PETSC_DIR}
-I${PETSC_DIR}/${PETSC_ARCH}/include -I${PETSC_DIR}/include \
${PACKAGES_INCLUDES} ${TAU_DEFS}
${TAU_INCLUDE} ${PETSC_BLASLAPACK_FLAGS}


As you can see, there are references to $PESC_ARCH.  So there are two
potential problems using a 'install' version:

1.-  If $PETSC_ARCH is not defined, some paths are of the form
'/usr/local/petsc//lib'. Not sure is the double '//' could be
problematic.

2.- If $PETSC_ARCH is defined somewhere (user makefiles or even
environment), bad paths will be generated, and ${PETSC_LIB_DIR} is
definitely broken.

Is all this OK? Or my hg pull + hg update failed?


On 6/11/07, Lisandro Dalcin  wrote:
> On 6/11/07, Satish Balay  wrote:
> > I should add that one motivation to support gnu/autoconf? 'make
> > insall' model as closly as possible - is to make it easy for
> > 'packagers' [deb,rpm etc..] to package PETSc
>
> OK, this make sense... I'll try this when I have some free time, I've
> been playing a bit generating rpm's for Fedora.
>
>
> [atleast the default
> > config - whatever that means] and make it available for their
> > respective distributions. Currently we only have only debian/freebsd
> > packages - and nothing more.
> >
> > And I'm hoping that these packagers have their own models for
> > installing multiple configs [via different prefix], so potentially
> > multiple variants of PETSc config can be packaged [if they chose to do
> > it].
> >
> > However I think the requirement of 'PETSC_DIR' might still be a minor
> > hurdle for this mode. [the alternative would be providing compiler
> > wrappers but thats a different discussion]
> >
> > 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
>


-- 
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




more comments about new build system

2007-06-11 Thread Lisandro Dalcin
If one of the goals of the new build system is to be more symmetric
with the GNU model, in order to make life easier for packagers, so I
think the '$PETSC_PREFIX/conf' location should be renamed, perhaps to
'$PETSC_PREFIX/share/petsc'. I believe 'conf' is not a 'standard'
location.



-- 
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




more comments about new build system

2007-06-11 Thread Barry Smith

  Lisandro,

Good point. etc was also suggested. Adding the petsc is 
kind of ugly with the non-installed version, for example

petsc-dev/$PETSC_ARCH/shared/petsc/petscrules

instead of 

petsc-dev/$PETSC_ARCH/shared/petscrules 

  These things are still up in the air and will be adjusted
as good ideas come in.

   Barry

On Mon, 11 Jun 2007, Lisandro Dalcin wrote:

> If one of the goals of the new build system is to be more symmetric
> with the GNU model, in order to make life easier for packagers, so I
> think the '$PETSC_PREFIX/conf' location should be renamed, perhaps to
> '$PETSC_PREFIX/share/petsc'. I believe 'conf' is not a 'standard'
> location.
> 
> 
> 
> 




more comments about new build system

2007-06-11 Thread Barry Smith

  I actually used conf because it is somewhat descriptive but
won't miss up with other choices (like etc).

   Barry


On Mon, 11 Jun 2007, Barry Smith wrote:

> 
>   Lisandro,
> 
> Good point. etc was also suggested. Adding the petsc is 
> kind of ugly with the non-installed version, for example
> 
> petsc-dev/$PETSC_ARCH/shared/petsc/petscrules
> 
> instead of 
> 
> petsc-dev/$PETSC_ARCH/shared/petscrules 
> 
>   These things are still up in the air and will be adjusted
> as good ideas come in.
> 
>Barry
> 
> On Mon, 11 Jun 2007, Lisandro Dalcin wrote:
> 
> > If one of the goals of the new build system is to be more symmetric
> > with the GNU model, in order to make life easier for packagers, so I
> > think the '$PETSC_PREFIX/conf' location should be renamed, perhaps to
> > '$PETSC_PREFIX/share/petsc'. I believe 'conf' is not a 'standard'
> > location.
> > 
> > 
> > 
> > 
> 




changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Barry Smith


On Mon, 11 Jun 2007, Lisandro Dalcin wrote:

> I think 'conf/variables' needs a bit more of work. I am not sure about
> what to do, the problem is here:
> 
> PETSC_LIB_DIR = ${PETSC_DIR}/${PETSC_ARCH}/lib
> PETSC_INCLUDE = -I${PETSC_DIR}
> -I${PETSC_DIR}/${PETSC_ARCH}/include -I${PETSC_DIR}/include \
>${PACKAGES_INCLUDES} ${TAU_DEFS}
> ${TAU_INCLUDE} ${PETSC_BLASLAPACK_FLAGS}
> 
> 
> As you can see, there are references to $PESC_ARCH.  So there are two
> potential problems using a 'install' version:
> 
> 1.-  If $PETSC_ARCH is not defined, some paths are of the form
> '/usr/local/petsc//lib'. Not sure is the double '//' could be
> problematic.

  My working assumption was that Unix would always handle the // properly;
In 21 years of using Unix I've never seen this to be a problem, but then
I always learn new things.

> 
> 2.- If $PETSC_ARCH is defined somewhere (user makefiles or even
> environment), bad paths will be generated,

  This is true, if using PETSc makefiles and an "installed" PETSc,
things will be messed up. My assumption was that people who used
"installed" PETSc would not know or care about PETSC_ARCH

>  and ${PETSC_LIB_DIR} is
> definitely broken.

   Not sure what you mean here? In my limited tests setting
setenv PETSC_LIB_DIR /usr/local/lib for example,
worked fine.

  Barry

> 
> Is all this OK? Or my hg pull + hg update failed?
> 
> 
> On 6/11/07, Lisandro Dalcin  wrote:
> > On 6/11/07, Satish Balay  wrote:
> > > I should add that one motivation to support gnu/autoconf? 'make
> > > insall' model as closly as possible - is to make it easy for
> > > 'packagers' [deb,rpm etc..] to package PETSc
> > 
> > OK, this make sense... I'll try this when I have some free time, I've
> > been playing a bit generating rpm's for Fedora.
> > 
> > 
> > [atleast the default
> > > config - whatever that means] and make it available for their
> > > respective distributions. Currently we only have only debian/freebsd
> > > packages - and nothing more.
> > >
> > > And I'm hoping that these packagers have their own models for
> > > installing multiple configs [via different prefix], so potentially
> > > multiple variants of PETSc config can be packaged [if they chose to do
> > > it].
> > >
> > > However I think the requirement of 'PETSC_DIR' might still be a minor
> > > hurdle for this mode. [the alternative would be providing compiler
> > > wrappers but thats a different discussion]
> > >
> > > 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
> > 
> 
> 
> 


changes to PETSc-dev bmake system and library locations

2007-06-11 Thread Barry Smith


On Mon, 11 Jun 2007, Satish Balay wrote:
> 
> However I think the requirement of 'PETSC_DIR' might still be a minor
> hurdle for this mode. [the alternative would be providing compiler
> wrappers but thats a different discussion]
> 
> Satish
> 
> 

   This will be fixed with my next push.

   Also the /${PETSC_ARCH}/ --> // issue will be fixed.

   Barry