X-Spam-Check-By: sourceware.org Message-ID: <43C3F0D2.B359C045@dessent.net> Date: Tue, 10 Jan 2006 09:37:22 -0800 From: Brian Dessent MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: autoconf/automake problem: simple testcase [was RE: autoconf/automake: just can't get it to work at all.] References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Dave Korn wrote: > Umm, it definitely *does* have an effect; see the differences it made to the > examples I posted in the previous case. Is it possible I have some remnants > of the old autoconf stuff lying around? I updated this morning and didn't see > any problems, and nor does cygcheck report any, and a quick browse through > /usr/share/autotools/ac-wrapper.pl shows it clearly tests and responds to > WANT_ and FORCE_ env vars. Right but that's autoconf which still has the version-sniffing-wrapper stuff. Automake doesn't have any of that and relies entirely on /etc/alternatives. > It doesn't work OOTB. Here's a simple testcase: on my system, which is > up-to-date as of this morning, and on which I've never ever run alternatives > to change any settings, you can't build current binutils when you configure > with --enable-maintainer-mode. If binutils expects automake 1.4 then I wouldn't expect it to work OOTB since the default "alternative" that the postinstall sets up is 1.9. What does "update-alternatives --display automake" say? > ----------------------snip > #!/bin/bash > cd /tmp > rm -rf autotooltest > mkdir autotooltest > cd autotooltest > wget 'http://ftp.gnu.org/gnu/binutils/binutils-2.16.1.tar.bz2' > tar xjf binutils-2.16.1.tar.bz2 > mkdir obj > cd obj > /tmp/autotooltest/binutils-2.16.1/configure -v --enable-maintainer-mode 2>&1 | > tee conf.log > make all 2>&1 | tee build.log > ----------------------snip > ... > make[1]: Entering directory `/tmp/autotooltest/obj/binutils' > cd /tmp/autotooltest/binutils-2.16.1/binutils && aclocal-1.4 > cd /tmp/autotooltest/binutils-2.16.1/binutils && automake-1.4 --cygnus > Makefile > cd /tmp/autotooltest/binutils-2.16.1/binutils && autoconf > FATAL ERROR: Autoconf version 2.50 or higher is required for this script > make[1]: *** [/tmp/autotooltest/binutils-2.16.1/binutils/configure] Error 2 > make[1]: Leaving directory `/tmp/autotooltest/obj/binutils' > make: *** [all-binutils] Error 2 Try this on the unmodified upstream tarball: $ find . -name \*.in -o -name \*.am -o -name \*.m4 -o -name configure \ | xargs grep -iP -m1 "generated (automatically )?(by|using)" From that you can see that the problem is that bfd/, gas/, gprof/, libiberty/, and opcodes/ all use automake 1.9 / autoconf 2.59; whereas the toplevel and binutils/ use automake 1.4 / autoconf 2.13. It seems like no matter what incantation of WANT_AUTOCONF_2_1 and update-alternatives that you use, something will be unhappy as a result. So it looks like a better way to go is to just run "autoreconf" in the subdirs that you want to regenerate, rather than configuring at the top level with --enable-maintainer-mode. Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/