Radically improve autogen.sh

Neil Williams linux at codehelp.co.uk
Sun Nov 6 07:15:42 EST 2005


On Sunday 06 November 2005 2:30 am, Peter O'Gorman wrote:
> Neil Williams wrote:
> | I can't test the changes that allow it to build this far and I can't
> | uninstall
> | the 1.8 tree because G2 isn't ready yet. It's just too big a gap between
> | 1.8 and G2 - OSX just doesn't seem to able to work with both.
> |
> Hi Neil,
> You seem to have lots of truoble with bad auto* versions (iirm 10.3 shipped
> with autoconf 2.57 and automake 1.6) and so on. I usually make sure that I
> have the latest automake, autoconf and libtool installed via fink,

That's inherent in the first paragraph - I can't uninstall gnucash 1.8 yet and 
by removing the older auto packages I make it so that I can't upgrade 1.8 
either (because I'm on the CVS version of fink that builds each package from 
source in order to have the latest versions of other packages). C'est la vie. 
I'll just have to stick with my current 1.8 (.10 I think) and just not 
upgrade it via fink.

> and have 
> fink's bin dir at the head of my path.

David's patch should sort this out - I'm very grateful for the tip, Peter!

> I just tried autogen.sh on Mac OS X 
> 10.4 with fink's autotools and it worked fine.
>
> I immediately ran into trouble though :-p
> cat -s tip_of_the_day.list.tmp | sed -e 's/^ *\"\(.*\)\" *$/\1/m' >
> tip_of_the_day.list
> sed: 1: "s/^ *\"\(.*\)\" *$/\1/m
> ": bad flag in substitute command: 'm'

> I quickly installed gnused and it's moving on.

This has tripped me up before - are you SURE it actually performed the 'sed' 
second time around? The first time make comes across the tip_of_the_day it 
fails with bsd sed. *No matter what you then do* any subsequent make will 
continue UNLESS you make distclean first.

I've just installed gnu sed, run make distclean, restarted again 
with ./autogen.sh and ./configure (with the guile16-build env command 
preceding each) and make STILL halts at tip_of_the_day_list.

As soon as I retype make, it continues exactly as before.

Do we need a test for sed that actually looks for the gnu version?

It's awkward because:
$ sed --version
simply waits for input.
$ /sw/bin/sed --version
GNU sed version 4.1.4
Copyright (C) 2003 Free Software Foundation ... etc.

We could test with:
$ sed --version --
That returns an error with bsd sed:
sed: 1: "--": invalid command code
but works fine for the version with gnu sed:
$ /sw/bin/sed --version --
GNU sed version 4.1.4 ... etc.

I'll take a look at configure.ac and see if we can test for gnu sed on darwin. 
(sed --version -- works fine on Debian)

I'll try to pull in sed --version -- and grep for 4  in much the same way as 
we test for gcc version.

> You need to make sure that the guile at the head of your path is guile-1.6,
> which has those extnesions that it was complaining about, I always do:
> guile16-build env LIBRARY_PATH=/sw/lib CPATH=/sw/include configure...
> guile16-build env LIBRARY_PATH=/sw/lib CPATH=/sw/include make

I've got those before ./autogen - I didn't realise it had to go before every 
shell single command!

> Note that if someone could change all those FLAVOR=gnome guile -c in the
> Makefile.am's to FLAVOR=gnome $(GUILE) -c and AC_SUBST(GUILE) life would be
> easier :)

Definitely. (even with the en_US spelling!)
:-)

> Hope this helps,
> Peter

It has helped me enormously, thank you!

Are all these problems indicators that users upgrading from gnucash1.8 to 
gnucash2 are going to face difficulties? G2 will have to conflict with all 
these old libraries.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051106/995248a7/attachment.bin


More information about the gnucash-devel mailing list