[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Still unable to build trunk

From: Paul Eggert
Subject: Re: Still unable to build trunk
Date: Fri, 21 Jan 2011 12:42:04 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20101208 Thunderbird/3.1.7

On 01/20/2011 02:16 PM, Chong Yidong wrote:

> configure should not complete successfully if
> the Makefiles that it generates cannot be used to make Emacs, due to a
> missing aclocal.m4 or whatever other reason.  Nor should configure
> produce a set of Makefiles that causes `make' to infloop.  That's a bug.

I could not reproduce the bug from a fresh trunk checkout, even though
I tried lots of different ways (including environments that lacked
automake).  From your email, it appears that you ran 'configure'
without --enable-maintainer-mode, which means that automake should be
invoked only if lib/Makefile.in was somehow removed.  Perhaps
lib/Makefile.in was removed because you control-C'ed at some point?

Anyway, to avoid the problem with a missing aclocal.m4 I added
the following dependency to the top-level Makefile.in:

am--refresh: $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/src/config.in

This should cause aclocal.m4 to be regenerated if it's somehow absent
when lib/Makefile decides that lib/Makefile.in needs to be rebuilt.
This appeared to be a crucial part of the failure scenario that you

> I notice, by the way, that the `make all' directive in lib/ ends up
> deleting the top-level Makefile, which does not make sense given that
> it's generated by doing `configure'.  Something is really wrong here.

Yes it is, but I cannot reproduce that problem either:

   $ cd lib
   $ make all
   make  all-am
   make[1]: Entering directory `/w/fac.2/cs/eggert/src/gnu/emacs/atest/lib'
   make[1]: Nothing to be done for `all-am'.
   make[1]: Leaving directory `/w/fac.2/cs/eggert/src/gnu/emacs/atest/lib'
   $ ls -l ../Makefile Makefile
   -rw-r--r-- 1 eggert csfac 35032 Jan 21 11:55 Makefile
   -rw-r--r-- 1 eggert csfac 37189 Jan 21 11:55 ../Makefile

Perhaps you ran an autotool without the crucial -I m4 option, and then
ran the resulting messed-up 'configure'?  If this was the problem, and
if this turns out to be a common failure mode, perhaps we can modify
'configure.in' so that the generated 'configure' refuses to run if
(for example) 'autoreconf' was used without -I m4.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]