Subject: bug#20297: compiling emasc 24.5 (src/Makefile and RUN_TEMACS)

From: Дилян Палаузов<[email-masked]>
Date: Fri, 10 Apr 2015 22:36:18 +0200

Hello,

I have problems to compile emacs 24.5:

$ ./configure --with-kerberos5 --with-wide-int --without-x
[lots of output]
$ make
[lots of output]

[ -r "src/config.in" ] || ( cd . && autoheader )
cd lib && make all                          \
   CC='gcc -std=gnu99' CFLAGS='-pipe -O3 -fno-fat-lto-objects -flto 
-mssse3' CPPFLAGS='' \
   LDFLAGS='-Wl,-O1 -Wl,-z,relro -Wl,-S' MAKE='make'
make[1]: Entering directory '/mnt/new/src/emacs-24.5/lib'
make  all-am
make[2]: Entering directory '/mnt/new/src/emacs-24.5/lib'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/mnt/new/src/emacs-24.5/lib'
make[1]: Leaving directory '/mnt/new/src/emacs-24.5/lib'
cd lib-src && make all                          \
   CC='gcc -std=gnu99' CFLAGS='-pipe -O3 -fno-fat-lto-objects -flto 
-mssse3' CPPFLAGS='' \
   LDFLAGS='-Wl,-O1 -Wl,-z,relro -Wl,-S' MAKE='make'
make[1]: Entering directory '/mnt/new/src/emacs-24.5/lib-src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/mnt/new/src/emacs-24.5/lib-src'
dirstate='.git/logs/HEAD';                              \
vcswitness='$(srcdir)/../'$dirstate;                            \
[ -r "./$dirstate" ] || vcswitness='';                  \
cd src || exit;                                                 \
boot=bootstrap-emacs;                                   \
[ ! -x "$boot" ] || boot='';                                    \
make all                                                \
   CC='gcc -std=gnu99' CFLAGS='-pipe -O3 -fno-fat-lto-objects -flto 
-mssse3' CPPFLAGS=''         \
   LDFLAGS='-Wl,-O1 -Wl,-z,relro -Wl,-S' MAKE='make' 
BOOTSTRAPEMACS="$boot"     \
   VCSWITNESS="$vcswitness"
make[1]: Entering directory '/mnt/new/src/emacs-24.5/src'
cd ../lisp; make -w update-subdirs
make[2]: Entering directory '/mnt/new/src/emacs-24.5/lisp'
for file in `find . -type d -print`; do case $file in .*/cedet* | 
.*/leim* ) ;; *) wins="$wins${wins:+ }$file" ;; esac; done; \
for file in $wins; do \
    ./../build-aux/update-subdirs $file; \
done;
make[2]: Leaving directory '/mnt/new/src/emacs-24.5/lisp'
if test "no" = "yes"; then \
   rm -f bootstrap-emacs; \
   ln temacs bootstrap-emacs; \
else \
   ./temacs --batch --load loadup bootstrap || exit 1; \
   test "X" = X ||  -zex emacs; \
   mv -f emacs bootstrap-emacs; \
fi
Loading loadup.el (source)...
Using load-path (/src/emacs-24.5/lisp /src/emacs-24.5/lisp/emacs-lisp 
/src/emacs-24.5/lisp/language /src/emacs-24.5/lisp/international 
/src/emacs-24.5/lisp/textmodes /src/emacs-24.5/lisp/vc)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/backquote...
Loading subr...
Loading version...
Loading widget...
Loading custom...
Loading emacs-lisp/map-ynp...
Loading international/mule...
Loading international/mule-conf...
Loading env...
Loading format...
Loading bindings...
Loading cus-start...
Loading window...
Loading files...
Loading emacs-lisp/macroexp...
Loading cus-face...
Loading faces...
Loading button...
Loading startup...
Loading /src/emacs-24.5/lisp/loaddefs.el (source)...
/bin/sh: line 7:  9864 Illegal instruction     ./temacs --batch --load 
loadup bootstrap
Makefile:815: recipe for target 'bootstrap-emacs' failed
make[1]: *** [bootstrap-emacs] Error 1
make[1]: Leaving directory '/mnt/new/src/emacs-24.5/src'
Makefile:387: recipe for target 'src' failed
make: *** [src] Error 2

The problem is the variable RUN_TEMACS in src/Makefile(.in), which is 
"./temacs", but shall be the path to temacs, relative to the build-root.

When I compiled the previous version of emacs, at the time it was 
released, I do not remember to have had such problem.

Thanks in advance for proceeding this.

Greetings
   Dilian