Re: Why did you removed PETSC_ARCH_NAME variable in makefiles?
On Nov 25, 2009, at 12:39 PM, Jose E. Roman wrote:
Barry,
I think the use of PETSC_ARCH_NAME is motivated by a request I sent in December last year, see http://lists.mcs.anl.gov/pipermail/petsc-dev/2008-December/001120.html
Ok, here is the message: SLEPc's configure.py uses the value of $PETSC_ARCH in order to setup everything for installation. We never had a $SLEPC_ARCH variable because our configure.py does not add platform-dependent functionality. Now the problem comes when PETSc has been configured with --prefix and installed with make install. In that case, $PETSC_ARCH is no longer available and SLEPc's configure.py is in trouble. A simple workaround would be that PETSc's configure (or make install) would add a variable (e.g. PETSC_ARCH_NAME) in file petscvariables. We parse this file so the arch name would be readily available even if $PETSC_ARCH is undefined. Can someone do this? Other solutions are welcome. Why does SLEPc's configure.py need to know PETSC_ARCH? PETSC_ARCH is a just a string that the user made up; in the --prefix case it means nothing at all and has no information associated with it. If you are installing a SLEPC based on a --prefix install of PETSc, you can just make up any PETSC_ARCH and use it doing your ./configure and make. If you are also doing a --prefix for SLEPC (which is likely when PETSc was done with --prefix) then once you have done make install the need for that PETSC_ARCH is gone. If you are not doing a -- prefix for SLEPc then that PETSC_ARCH is what the user will need to use when they use the SLEPc. Does this not work for some reason? Barry
We use it when configuring SLEPc with a prefix-based PETSc. If you remove this variable, we will have to think about an alternative way of supporting that case.
Jose
On 25/11/2009, Barry Smith wrote:
Lisandro,
That change will certainly NOT be reverted. PETSC_ARCH_NAME! what the heck kind of variable name is that?
I need to understand the reason for PETSC_ARCH_NAME, then we can come up with some solution. What is the difference between PETSC_ARCH_NAME and PETSC_ARCH? Is it only needed when --prefix is used (so PETSC_ARCH does not exist), if so, exactly why is it needed, the whole idea behind --prefix is to eliminate PETSC_ARCH, so why is it needed? How is PETSC_ARCH_NAME used?
Barry
On Nov 25, 2009, at 10:14 AM, Lisandro Dalcin wrote:
Barry, an outcome of the two changesets below:
changeset: 14451:b289577caf8f user: [email protected] date: Mon Oct 19 16:31:16 2009 -0500 summary: update to install.py to ONLY use RDict.db (and not command line)
changeset: 14383:447d34bd2d4b user: [email protected] date: Thu Oct 08 16:33:59 2009 -0500 summary: finished cleaning up makefiles, moved charactoristic.h to include location standard place where it is easy to use
was that these two lines in config/PETSc/utilities/arch.py were removed:
# SLEPc configure need this info self.addMakeMacro('PETSC_ARCH_NAME',self.arch)
SLEPc and petsc4py/slepc4py/tao4py relies on this variable being defined in makefiles. There is now a new way to get the original name of the build-time $PETSC_ARCH? If not, any chance this change could be reverted?
-- 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
participants (1)
-
Barry Smith