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