Radically improve autogen.sh - cannot build trunk.

Christian Stimming stimming at tuhh.de
Mon Nov 7 08:13:24 EST 2005


Neil Williams schrieb:
>>Then main discussion of that change happened on IRC
> 
> I hate IRC - it's all the things I dislike about the telephone with none of 
> the benefits of email. It's intrusive (you have to be online when others are 
> online), it's invasive (it interrupts me in the middle of other things 
> instead of waiting until I'm ready) and it's non-archived (so nobody can 
> catch up with the IRC thread).

Agreed in principle. Also agreed that discussions concerning more than 
one developer should therefore be done on -devel. I'll try again later.

>> so I assumed that after cleaning up this script good
>>enough then it should work for all circumstances. Sorry if that is not the
>>case.
> 
> Not yet. I find it unsatisfactory that this change has forced me to uninstall 
> software on my OSX box to fit in with the "streamlined" version.

I still don't understand why there wasn't any way for you to make that 
work. The only fundamental difference between the old (and now reverted) 
autogen.sh and my temporary new proposal was that the old one looks for 
specific versions autoconf-2.53, autoheader-2.53, automake-1.5 and 
aclocal-1.5 (the latter two optionally as 1.6 or 1.7). Then the 
variables AUTOCONF et al were set to these programs. The new script, on 
the other hand, simply used the available autoconf et al programs, 
unless something else was passed as env variable. If you need to enforce 
the old behaviour on OSX, then instead of

   ./autogen.sh

you should have called

   AUTOCONF=autoconf-2.53 AUTOHEADER=autoheader-2.53 \
   AUTOMAKE=automake-1.5 ACLOCAL=aclocal-1.5 ./autogen.sh

and then these explicit versions should have been enforced. No need to 
uninstall anything. The comment in the new autogen.sh was supposed to 
point you into that direction.

> I have and it did not allow me to build gnucash on a system that had built it 
> under the old script. I had to actually uninstall certain auto tools which 
> has meant a MAJOR PITA for me because I am now completely unable to update 
> gnucash1.8 because the auto tools are too recent. I cannot build 1.8 with the 
> auto tools that G2 now needs.

Agreed that both might require different build tools, but not agreed 
that you needed to uninstall any of those. That's why you can specify 
different versioned program names.

> Doesn't work on OSX. Tried that. The BSD versions get in the way. Just like 
> the 'sed' patch I've committed to trunk today, OSX needs to always use the 
> GNU versions and things will break when the BSD versions get in the way. 

And even hard-coding a path (like AUTOCONF=/usr/bin-gnu/autoconf-2.53 or 
whatever) didn't work? The old script did not even do that, only using 
the versioned program names.

> We've even got to the stage now that gnucash is advising OSX users to *modify 
> their PATH*! That's the bad old days of MS-DOS and Windows 3.1!!!

The old autogen.sh was already modifying the PATH during its script. 
OTOH asking a user to modify a PATH if they want to use a particular 
application IMHO isn't that unusual.

Christian


More information about the gnucash-devel mailing list