[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: couldn't build emacs 21.4
From: |
Henrik Enberg |
Subject: |
Re: couldn't build emacs 21.4 |
Date: |
Fri, 11 Feb 2005 00:45:04 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Maurizio Loreti <mlo@foobar.it> writes:
> MLO@lapcdf 41 $ gcc --version
> gcc (GCC) 3.4.3
> Copyright (C) 2004 Free Software Foundation, Inc.
> ...
>
> the steps followed are:
>
> - unpack and untar emacs-21.4
> - unpack and untar leim-21.3
> - mv emacs-21.3/leim/* emacs-21.4/leim/
> - cd emacs-21.4
> - CFLAGS=-O2 ./configure
> - make
> ...
> Loading ediff-hook...
> ((51645 . 15317) (8352 . 0) (511 . 56) 72130 134860 (14 . 9) (21 . 0) (7132
> . 1436))
> Finding pointers to doc strings...
> Finding pointers to doc strings...done
> Wrote /home/loreti/work/emacs-21.4/lib-src/fns-21.4.1.el
> Dumping under names emacs and emacs-21.4.1
> make[1]: *** [emacs] Segmentation fault
> make[1]: *** Deleting file `emacs'
> make[1]: Leaving directory `/home/loreti/work/emacs-21.4/src'
> make: *** [src] Error 2
>From the PROBLEMS file of CVS Emacs:
With certain recent Linux kernels (like the one of Redhat Fedora
Core 1 and 2), the new "Exec-shield" functionality is enabled by
default, which creates a different memory layout that breaks the
emacs dumper.
Configure can overcome the problem of exec-shield if the
architecture is x86 and the program setarch is present. On other
architectures no workaround is known.
You can check the Exec-shield state like this:
cat /proc/sys/kernel/exec-shield
It returns non-zero when Exec-shield is enabled, 0 otherwise.
Please read your system documentation for more details on
Exec-shield and associated commands. Exec-shield can be turned off
with this command:
echo "0" > /proc/sys/kernel/exec-shield
When Exec-shield is enabled, building Emacs will segfault during the
execution of this command:
./temacs --batch --load loadup [dump|bootstrap]
To work around this problem, it is necessary to temporarily disable
Exec-shield while building Emacs, or, on x86, by using the `setarch'
command when running temacs like this:
setarch i386 ./temacs --batch --load loadup [dump|bootstrap]
Note that the "configure can overcome the problem" bit probably doesn't
apply to 21.4.