Why did you removed PETSC_ARCH_NAME variable in makefiles?
Barry Smith
bsmith at mcs.anl.gov
Wed Nov 25 14:58:29 CST 2009
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: barrysmith at bsmith-laptop.mcs.anl.gov
>>> 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: barrysmith at bsmith-laptop.mcs.anl.gov
>>> 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
>>
>
More information about the petsc-dev
mailing list