petscvariables: hardwired build dir instead of install dir

Barry Smith bsmith at mcs.anl.gov
Tue Mar 25 00:02:58 CDT 2008


On Mar 24, 2008, at 11:26 PM, Matthew Knepley wrote:
> On Mon, Mar 24, 2008 at 10:53 PM, Barry Smith <bsmith at mcs.anl.gov>  
> wrote:
>>
>>
>> On Mar 24, 2008, at 10:42 PM, Matthew Knepley wrote:
>>> On Mon, Mar 24, 2008 at 10:38 PM, Barry Smith <bsmith at mcs.anl.gov>
>>> wrote:
>>>>
>>>> On Mar 24, 2008, at 10:25 PM, Matthew Knepley wrote:
>>>>> On Mon, Mar 24, 2008 at 10:14 PM, Barry Smith <bsmith at mcs.anl.gov>
>>>>> wrote:
>>>>>>
>>>>>>  Matt,
>>>>>>
>>>>>>   The sed is so trivial it is silly to even think about replacing
>>>>>> it with python!  I did not realize until after reading Lisandro's
>>>>>> email
>>>>>
>>>>> What does that have to do with anything? If its so trivial, then  
>>>>> it
>>>>> won't
>>>>> take any time at all. This is at least the third time I have had  
>>>>> to
>>>>> fool
>>>>> with this sed stuff (I already reported that sed bug two months
>>>>> ago).
>>>>> I do not want to do it again. Is there any justification, except
>>>>> inertia,
>>>>> for keeping that in sed?
>>>>>
>>>>
>>>>   Not having hundreds of dinky little python scripts lying around
>>>> that do the same thing as Unix utilities is a good reason.
>>>>
>>>>  If you write the entire "install:" rule in python that would be
>>>> great,
>>>> then you could start on some of the other rules in conf/rules
>>>> I am only objecting to replacing Unix one-liners with python one
>>>> liners.
>>>
>>> Fine, but you just asked for a lot more Python then 1 line to check
>>> which form of
>>> the -i flag is on the machine.
>>
>>    Yes, but that is the autoconf model! You wanted the autoconf
>> model, not me!
>> You first tried it with autoconf, not possible, so you wrote a better
>> than autoconf
>> in python. I never asked anyone to make a conf system, I was  
>> perfectly
>> happy
>> requiring people to write the correct flags directly into
>> petscconf :-). What bothers
>> me about one-line python scripts to fix Unix weirdness is now you  
>> have
>> two
>> models (some things you fix by running config/configure.py and
>> figuring things
>> out and some things you fix by replacing Unix with python). One thing
>> you
>> should know about me is I HATE HATE HATE HATE using two models for
>> doing something at the
>> same time (this is why I hate Mathematica and PERL, they each support
>> about
>> 20 different programming models that can be used together). So now we
>> have
>> reached the root if the issue; in my mind if you introduce a new  
>> model
>> approach to
>> solving some problem you toss the old, you don't use them both  
>> together!
>
> I am all for consistency. However I have a different interpretation of
> what constitutes
> the model. I thought the model was
>
>  1) Test a set of tools, e.g. compilers, make, ...
>
>  2) Customize the use of each based upon our tests
>
>  3) Use the set of tools required for each build task
>
> I think I am proposing a decision for 3), namely replacing one tool
> with another. We
> already do this, for instance when we link with a linker or a
> compiler. I think we should
> eliminate all uses of sed with python.

   I think that is silly; sed is a perfectly fine tool, like all unix
utilities it just has some whacked behavior, that in this case
can be easily fixed by having a
SED_INPLACE macro.

   Why is SED so special to be replaced by python, why not
cp or all the other things that we have config macros for?



> Notice that this is not wasted
> work, as it will
> survive when eventually everything is replaced by Python.

It is because when the install: rule is replaced by
python it will not be a line by line replacement so your
python sed script will not be needed (it would just make the
python script more cumbersome.)

I think a make rule by rule change to python is a far
better way to go then replacing individual lines in the rules
with python scripts and then later trying to merge those individual
line python scripts together.



    Barry


>
>
>   Matt
>
>>    Barry
>>>
>>>
>>>  Matt
>>>
>>>>   Barry
>>>>
>>>>
>>>>
>>>>
>>>>> Matt
>>>>>
>>>>>> that the sed -i option behaved differently on different systems.
>>>>>>
>>>>>>  Barry
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mar 24, 2008, at 10:07 PM, Matthew Knepley wrote:
>>>>>>> On Mon, Mar 24, 2008 at 9:50 PM, Barry Smith  
>>>>>>> <bsmith at mcs.anl.gov>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> On Mar 24, 2008, at 10:57 AM, Lisandro Dalcin wrote:
>>>>>>>>> Barry, things are still broken. I think that at some point we
>>>>>>>>> have
>>>>>>>>> to
>>>>>>>>> review the 'install:' target  more carefully.
>>>>>>>>>
>>>>>>>>> First, the 'sed' command i being called in a wrong way.
>>>>>>>>
>>>>>>>> This is not true; the sed is being called correctly. The  
>>>>>>>> problem
>>>>>>>> is that -i
>>>>>>>> is not a standard sed option and different systems gnu and
>>>>>>>> freebsd
>>>>>>>> treat
>>>>>>>> it differently. freebsd requires a space between the -i and the
>>>>>>>> suffix;
>>>>>>>> gnu has no space; gnu also allows the use of -i to indicate no
>>>>>>>> backup
>>>>>>>> while freebsd expects -i ""
>>>>>>>>
>>>>>>>> Your patch works on POS gnu systems, but is broken on far
>>>>>>>> superior
>>>>>>>> Apple MacOS X systems! :-)
>>>>>>>>
>>>>>>>> Matt you need to add a config/configure.py test to detect the
>>>>>>>> type of sed -i it is.
>>>>>>>
>>>>>>> I totally disagree. We should ditch all this crap, and just  
>>>>>>> write
>>>>>>> nice, PORTABLE
>>>>>>> Python code. I will do it. I just need someone to explain what
>>>>>>> this
>>>>>>> sed is doing.
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>> --
>>>>>>> What most experimenters take for granted before they begin their
>>>>>>> experiments is infinitely more interesting than any results to
>>>>>>> which
>>>>>>> their experiments lead.
>>>>>>> -- Norbert Wiener
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their
>>>>> experiments is infinitely more interesting than any results to  
>>>>> which
>>>>> their experiments lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to which
>>> their experiments lead.
>>> -- Norbert Wiener
>>>
>>
>>
>
>
>
> -- 
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
>




More information about the petsc-dev mailing list