Re: [Audacity-devel] audacity trunk fails to build on Ubuntu
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
|
From: Benjamin D. <bd...@ub...> - 2010-10-20 20:24:35
|
Am Mittwoch, den 20.10.2010, 20:51 +0100 schrieb Richard Ash: > On Sat, 2010-10-16 at 17:08 +0100, Richard Ash wrote: > > So we have a problem which is definitely present with autoconf-2.65 and > > libtool-2.2.10 (on the system which updates the sources, i.e. mine) when > > configured on a system with /bin/sh != /bin/bash. It's not yet clear if > > this is general (i.e. if I re-do another libtool-based library will I > > break it?) or not. > The answer turned out to be no. This then gave me a reference situation > where one package (libvorbis) worked and the other (portaudio-v19) > didn't. Fairly quickly it became apparent that in libvorbis's Makefile > > LIBTOOL = $(SHELL) $(top_builddir)/libtool > > worked, where as in portaudio-v19's > > LIBTOOL = $(SHELL) $(top_builddir)/libtool > > didn't. This fairly severely limited the possible causes of the problem, > and lead to checking the value of $(SHELL) when libtool is run, which > confirmed that in portaudio's case it was /bin/sh but in libvorbis's > case it was /bin/bash. > > At this point the world seems to be spinning - why is $(SHELL) different > for different people? > http://www.gnu.org/software/hello/manual/autoconf/The-Make-Macro-SHELL.html > explains - although $SHELL is a GNU make built-in variable (and so > always set), it's considerably special, so it doesn't take the value of > the external environment variable SHELL (which would be normal), nor is > it set to the parent shell ... > > The reason this affects portaudio and not libvorbis is because portaudio > (for what no doubt seemed like good ideas at the time) uses libtool and > autoconf but not automake. libvorbis is more reasonable and uses all > three. As a result, portaudio's Makefile.in ('maintained' by hand) > doesn't set $SHELL where as the Makefile.in for libvorbis (created by > autoconf) does set $SHELL to whatever configure (the creator of libtool) > thinks it is. > > Hence a breakage in one case and not the other. The solution is of > course simple - substitute $SHELL in portaudio's Makefile.in, and all is > well again. This is the sort of hand-holding that Automake is designed > to avoid doing ... > > Patch is now in audacity SVN and I will submit it upstream. Thanks for digging through autotools. trunk builds again on Ubuntu. -- Benjamin Drung Ubuntu Developer (www.ubuntu.com) | Debian Maintainer (www.debian.org) |