bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#21476: 25.0: Build fails | Compiler-macro error for cl-typep: (void-


From: Kaushal Modi
Subject: bug#21476: 25.0: Build fails | Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
Date: Mon, 14 Sep 2015 18:35:32 +0000

This issue got resolved after I reran my build script after I ran a couple of Cleanup make commands like "make maintainer-clean" and "make bootstrap". 

I am though not sure which one worked.

Just to note, I can facing some cl- byte code issue when using the esup package (https://github.com/jschaf/esup). It gives this error on doing M-x esup:

Debugger entered--Lisp error: (error "Invalid byte code")
  cl--defalias(cl-values list "Return multiple values, Common Lisp style.\nThe arguments of `cl-values' are the values\nthat the containing function should return.\n\n(fn &rest VALUES)")
  byte-code("\300\301\302\303#\210\300\304\305\306#\207" [cl--defalias cl-values list "Return multiple values, Common Lisp style.\nThe arguments of `cl-values' are the values\nthat the containing function should return.\n\n(fn &rest VALUES)" cl-values-list identity "Return multiple values, Common Lisp style, taken from a list.\nLIST specifies the list of values\nthat the containing function should return.\n\n(fn LIST)"] 4)
  eval((byte-code "\300\301\302\303#\210\300\304\305\306#\207" [cl--defalias cl-values list "Return multiple values, Common Lisp style.\nThe arguments of `cl-values' are the values\nthat the containing function should return.\n\n(fn &rest VALUES)" cl-values-list identity "Return multiple values, Common Lisp style, taken from a list.\nLIST specifies the list of values\nthat the containing function should return.\n\n(fn LIST)"] 4))
  esup-child-profile-sexp(3554 3979 1)
  esup-child-profile-buffer(#<buffer cl-lib.elc> 1)
  esup-child-profile-file("cl-lib" 1)
  esup-child-profile-sexp(6215 6232 0)
  esup-child-profile-buffer(#<buffer init.el> 0)
  esup-child-profile-file("/home/kmodi/.emacs.d/init.el" 0)
  esup-child-run("/home/kmodi/.emacs.d/init.el" "33838")
  eval((esup-child-run "/home/kmodi/.emacs.d/init.el" "33838"))
  command-line-1(("-L" "/home/kmodi/.emacs.d-master/elpa_25_0/esup-20150519.1701/" "-l" "esup-child" "--eval=(esup-child-run \"/home/kmodi/.emacs.d/init.el\" \"33838\")"))
  command-line()
  normal-top-level()



On Mon, Sep 14, 2015 at 11:23 AM Kaushal Modi <kaushal.modi@gmail.com> wrote:
My emacs build from master branch fails with these errors:


I do use make bookstrap to ensure a clean install.

Loading /home/kmodi/downloads/git/emacs/lisp/emacs-lisp/cl-preloaded.el (source)...
Warning: Eager macro-expansion skipped due to cycle:
  … => (load "cl-macs.el") => (macroexpand-all (define-inline cl-typep …)) => (load "cl-macs.el")
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
Eager macro-expansion failure: (void-function define-inline)
Warning: Eager macro-expansion skipped due to cycle:
  … => (load "cl-macs.el") => (macroexpand-all (define-inline cl-typep …)) => (load "cl-macs.el")
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)


------------------------------------------------------

My emacs build script which I execute using "source mybuild.csh origin/master":

#!/bin/tcsh -f
# Time-stamp: <2015-09-11 10:56:05 kmodi>

# Usage: source mybuild.csh <VERSION or BRANCH>
# Example: source mybuild.csh emacs-24
#          source mybuild.csh master

# For RHEL 6, do "setenv MY_OSREV 6"
# "${HOME}/usr_local/${MY_OSREV}" is the directory that I use as
# --prefix for building libraries locally when the default library
# does not exist or is older than the requirements.

# I already have the env vars PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH
# and INCLUDE_PATH to include the respective directories in
# ${HOME}/usr_local/${MY_OSREV}.

# Ensure that PKG_CONFIG_PATH has /usr/share/pkgconfig for xproto.pc
# and related files. This is necessary for XFT and related X11
# features.. otherwise the fonts will look horrible.


set emacs_gdb_build = 0

git checkout master
git fetch --all
git reset --hard $argv[1]

# If $argv[1] is master, basename $argv[1] -> master
# If $argv[1] is origin/emacs-24.5, basename $argv[1] -> emacs-24.5
if ( ${emacs_gdb_build} ) then
    setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/`basename $argv[1]`_debug"
else
    setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/`basename $argv[1]`"
endif
# setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/test"
mkdir -p ${MY_EMACS_INSTALL_DIR}

# Basic configure command
setenv MY_EMACS_CONFIGURE "./configure --prefix=${MY_EMACS_INSTALL_DIR}"

# Initialize the configure flag vairables
set emacs_configure_CFLAGS   = ''
set emacs_configure_CXXFLAGS = ''
set emacs_configure_CPPFLAGS = ''
set emacs_configure_LDFLAGS  = ''

set emacs_configure_CPPFLAGS = 'CPPFLAGS="'"-fgnu89-inline -I${HOME}/usr_local/${MY_OSREV}/include -I/usr/include/freetype2 -I/usr/include"
# -L${HOME}/usr_local/${MY_OSREV}/lib required for libgpm (GPM feature)
# -L${HOME}/usr_local/${MY_OSREV}/lib64 required for libgif (GIF feature)
set emacs_configure_LDFLAGS  = 'LDFLAGS="'"-L${HOME}/usr_local/${MY_OSREV}/lib -L${HOME}/usr_local/${MY_OSREV}/lib64"

# For Debug
if ( ${emacs_gdb_build} ) then
    set emacs_configure_CFLAGS   = 'CFLAGS="'"-ggdb3 -O0"
    set emacs_configure_CXXFLAGS = 'CXXFLAGS="'"-ggdb3 -O0"
    set emacs_configure_LDFLAGS  = "${emacs_configure_LDFLAGS} -ggdb3"
endif

# Close the double quotes
if ( ! ( "${emacs_configure_CFLAGS}" == "" ) ) then
    set emacs_configure_CFLAGS = "${emacs_configure_CFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_CXXFLAGS}" == "" ) ) then
    set emacs_configure_CXXFLAGS = "${emacs_configure_CXXFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_CPPFLAGS}" == "" ) ) then
    set emacs_configure_CPPFLAGS = "${emacs_configure_CPPFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_LDFLAGS}" == "" ) ) then
    set emacs_configure_LDFLAGS = "${emacs_configure_LDFLAGS}"'"'
endif

setenv MY_EMACS_CONFIGURE "${MY_EMACS_CONFIGURE} ${emacs_configure_CPPFLAGS} ${emacs_configure_CFLAGS} ${emacs_configure_CXXFLAGS} ${emacs_configure_LDFLAGS}"

echo ""
echo "  MY_EMACS_CONFIGURE = ${MY_EMACS_CONFIGURE}"
echo ""
echo "Waiting for 5 seconds .. Press Ctrl+C to cancel this installation."
sleep 5

\rm -f configure Makefile
make clean

if ( ! -e src/epaths.in.bkp ) then
    \cp src/epaths.in src/epaths.in.bkp
endif
\cp -f src/epaths.in.bkp src/epaths.in
sed -i 's|/usr/local|${MY_EMACS_INSTALL_DIR}|g' src/epaths.in

if ( ! -e GNUmakefile.bkp ) then
    \cp GNUmakefile GNUmakefile.bkp
endif
\cp -f GNUmakefile.bkp GNUmakefile
sed -i 's|./configure|${MY_EMACS_CONFIGURE}|g' GNUmakefile

# Do NOT call autoreconf. "make bookstrap" below will call autoreconf with
# proper arguments.
# The `make bootstrap' step is required for a clean fresh install
if ( -f Makefile ) then
    make bootstrap
endif
make install

# I use the Exuberant ctags (now Universal ctags build from its github
# repo). So rename the binary and man of "ctags" that ship with emacs so
# that I do not end up using the incorrect ctags.
if ( -e ${MY_EMACS_INSTALL_DIR}/bin/ctags ) then
    \mv ${MY_EMACS_INSTALL_DIR}/bin/ctags ${MY_EMACS_INSTALL_DIR}/bin/ctags_emacs
endif
if ( -e ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags.1.gz ) then
    \mv ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags.1.gz ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags_emacs.1.gz
endif

# unset all internal variables
unset {emacs_configure_CFLAGS}
unset {emacs_configure_CPPFLAGS}
unset {emacs_configure_CXXFLAGS}
unset {emacs_configure_LDFLAGS}



reply via email to

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