This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: autoconf/automake problem: simple testcase [was RE: autoconf/automake: just can't get it to work at all.]


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]