Subject: Re: bug#30635: No compiler warning if code forgets to require cl-lib

From: "Basil L. Contovounesios" <[email-masked]>
Date: Mon, 26 Mar 2018 01:51:22 +0100

Stefan Monnier <[email-masked]> writes:

> So I pushed the previous two patches to master, since I think they at
> least partly fix this bug.

I've bisected the following build error to your commit 97b7e58c4d "Try
and fix the more obvious sources of bug#30635" of 2018-03-22:

    [...]
    Dumping under the name emacs
    13102432 of 33554432 static heap bytes used
    99255 pure bytes used
    mv -f emacs bootstrap-emacs
    make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
    make[2]: Entering directory '/home/blc/.local/src/emacs/lisp'
      ELC      emacs-lisp/bytecomp.elc
    Error reading dir-locals: (invalid-read-syntax "#")
    
    In toplevel form:
    emacs-lisp/bytecomp.el:124:1:Error: Symbol’s value as variable is void: =
    Makefile:301: recipe for target 'emacs-lisp/bytecomp.elc' failed
    make[2]: *** [emacs-lisp/bytecomp.elc] Error 1
    make[2]: Leaving directory '/home/blc/.local/src/emacs/lisp'
    Makefile:745: recipe for target 'bootstrap-emacs' failed
    make[1]: *** [bootstrap-emacs] Error 2
    make[1]: Leaving directory '/home/blc/.local/src/emacs/src'
    Makefile:418: recipe for target 'src' failed
    make: *** [src] Error 2

The immediately preceding incantation on my part is:

    make clean && ./configure [...] && make

where the configuration used follows my signature.

Subsequently invoking 'make boostrap' similarly barfs with:

    Dumping under the name emacs
    11966048 of 33554432 static heap bytes used
    2450001 pure bytes used
    Adding name emacs-27.0.50.1
    ln -f emacs bootstrap-emacs
    make[2]: Leaving directory '/home/blc/.local/src/emacs/src'
    make -C lisp all
    make[2]: Entering directory '/home/blc/.local/src/emacs/lisp'
    make -C ../leim all EMACS="../src/emacs"
    make[3]: Entering directory '/home/blc/.local/src/emacs/leim'
    make[3]: Nothing to be done for 'all'.
    make[3]: Leaving directory '/home/blc/.local/src/emacs/leim'
    make -C ../admin/grammars all EMACS="../../src/emacs"
    make[3]: Entering directory '/home/blc/.local/src/emacs/admin/grammars'
    make[3]: Nothing to be done for 'all'.
    make[3]: Leaving directory '/home/blc/.local/src/emacs/admin/grammars'
    make[3]: Entering directory '/home/blc/.local/src/emacs/lisp'
      ELC      emacs-lisp/eieio.elc
    
    In toplevel form:
    emacs-lisp/eieio.el:Error: Invalid read syntax: "#"
    Error reading dir-locals: (invalid-function "
    In toplevel form:
    emacs-lisp/eieio.el:Error: Invalid read syntax: \"#\"")
    emacs-lisp/eieio.el:52:4:Error: Symbol’s value as variable is void: =
    Makefile:301: recipe for target 'emacs-lisp/eieio.elc' failed
    make[3]: *** [emacs-lisp/eieio.elc] Error 1
    make[3]: Leaving directory '/home/blc/.local/src/emacs/lisp'
    Makefile:324: recipe for target 'compile-main' failed
    make[2]: *** [compile-main] Error 2
    make[2]: Leaving directory '/home/blc/.local/src/emacs/lisp'
    Makefile:405: recipe for target 'lisp' failed
    make[1]: *** [lisp] Error 2
    make[1]: Leaving directory '/home/blc/.local/src/emacs'
    Makefile:1099: recipe for target 'bootstrap' failed
    make: *** [bootstrap] Error 2

Any ideas on where I am or what is going wrong and how I can further
troubleshoot this?

TIA,

-- 
Basil

Configured using:
 'configure --prefix=/home/blc/.local --with-mailutils
 --with-x-toolkit=lucid --with-modules --with-file-notification=yes
 --with-x 'CFLAGS=-march=native -O2 -pipe'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 MODULES THREADS LIBSYSTEMD LCMS2