Why did you removed PETSC_ARCH_NAME variable in makefiles?

Satish Balay balay at mcs.anl.gov
Thu Nov 26 23:21:26 CST 2009


On Thu, 26 Nov 2009, Lisandro Dalcin wrote:

> On Thu, Nov 26, 2009 at 3:21 PM, Jose E. Roman <jroman at dsic.upv.es> wrote:
> >
> > On 26/11/2009, Lisandro Dalcin wrote:
> >
> >> On Thu, Nov 26, 2009 at 2:20 PM, Jose E. Roman <jroman at dsic.upv.es> wrote:
> >>>>
> >>> We fixed slepc-dev so that PETSC_ARCH_NAME is not required anymore.
> >>>
> >>
> >> Jose, could you elaborate a bit what would the rules be now for SLEPc?
> >> Building SLEPc with a prefix build of PETSc will require SLEPc's
> >> configure to also pass explicitly a--prefix and do "make install"
> >> after the build?
> >>
> >> I still have to figure out how to make both models (I mean, prefix vs.
> >> multi-arch) builds work in the case of petsc4py/slepc4py and their
> >> dependencies on themselves and with core PETSc/SLEPc...
> >
> > SLEPc can be setup with or without prefix, irrespective of whether PETSc is
> > prefixed or not.
> >
> > Since we need a PETSC_ARCH, one could set an arbitrary value of PETSC_ARCH,
> > then configure (with or without prefix)+make+(make install).
> >
> > If the user does not set PETSC_ARCH, then SLEPc's configure will tell the
> > user to set PETSC_ARCH=unknown before invoking make.
> >
> 
> OK, now Jose just introduced another standard: an non-prefix SLEPc
> build with a prefix PETSc build is equivalent to a non-prefix PETSc
> with PETSC_ARCH=unknown, and... This is a nightmare... I'm a bit lost
> about what to support and what not in petsc4py/slepc4py...

The way I look at it - the primary complexity here is from PETSc
buildsystem.

Because PETSc buildsystem supports both types of builds - 'prefix' and
'regular' - one is forced to use PETSC_ARCH 'during build process' -
even with a prefix build [even though it doesn't make any sense to
this gnu build model].

Once we force this on users - I don't think we are justified in
removing traces of this intermediate step - if slepc/petsc4py would
like to use info.

To me - it makes perfect sense for these packages to mimick both the
PETSc build modes as closly as possible [both modes]. So if they need
PETSC_ARCH used during PETSc build - then thats fine.  Perhaps it
should be named PETSC_ARCH_value_used_at_build_time - or a more
descriptive name to satisfy Barry's concerns.

Satish



More information about the petsc-dev mailing list