Subject: Re: bug#821: 23.0.60; bootstrap fails due to define-minor-mode in textmode/paragraphs.el

From: Ted Zlatanov <[email-masked]>
Date: Thu, 04 Sep 2008 09:50:13 -0500

The following message is a courtesy copy of an article
that has been posted to gnu.emacs.bug as well.

On Wed, 03 Sep 2008 22:45:02 -0400 Glenn Morris <[email-masked]> wrote: 

GM> Ted Zlatanov wrote:
>> Installed: make 3.81-3build1
GM> [...]
>> cd ../lisp; make -w compile-first EMACS=../src/bootstrap-emacs
>> make[2]: Entering directory `/home/lank/emacs/lisp'
>> make[2]: *** No rule to make target `/home/lank/emacs/lisp/emacs-lisp/bytecomp.elc', needed by `compile-first'.  Stop.

GM> This is bug #327 again, in that make for some reason does not
GM> understand the implicit rule that generates .elc from .el. This time
GM> it is failing straight away, rather than partway through the .elc
GM> files.

>> I wanted to investigate this one as it seemed related to the byte-compile
>> issues.  This file (bytecomp.el) is mentioned in COMPILE_FIRST and in
>> ELCFILES; this may bring us back to why ELCFILES is not picked up
>> correctly.

GM> Good point. One thing to try is deleting bytecomp, byte-opt, and
GM> autoload from ELCFILES. I don't hold out much hope though...

>> Compiling /home/lank/emacs/lisp/bs.el
>> Wrote /home/lank/emacs/lisp/bs.elc
>> make[1]: *** No rule to make target `/home/lank/emacs/lisp/calc/calc-aent.elc', needed by `compile-main'.  Stop.
>> make[1]: Leaving directory `/home/lank/emacs/lisp'
>> make: *** [lisp] Error 2

GM> Again, a failure of make to understand an implicit rule.

>> The root of all these problems seems to be Make itself.

GM> Yes. Perhaps try compiling your own GNU make from source?

Amazing, that worked.  I uninstalled the Ubuntu make (3.81-3build1) and
installed make from source (3.81 as well).  The build process worked
perfectly (`make maintainer-clean; ./configure; make; make install').

It's unfortunate that make is the problem here, but if no one else has
experienced the bug it's really hard to track the problem, especially
since it's somewhere in a binary package.  I'll mention it on the make
dev list but I don't hold out too much home.

Anyhow, you can close bugs 921 and 327.  Thank you for your patience.

Ted