Fedora下Emacs的安装
(来源:http://www.linuxdiyf.com/bbs/viewthread.php?tid=70850&highlight=Emacs%2B%B0%B2%D7%B0)
(1)软件下载地址:http://download.chinaunix.net/download.php?id=4879&ResourceID=2622
(2)解压
$ cp emacs-22.0.50-20050225.tar.gz /opt
$ cd /opt
$ tar -xvzf emacs-22.0.50-20050225.tar.gz
这时解压生成一个emacs-22.0.50的目录
$ cd emacs-22.0.50
(3)配置
$ ./configure
(4)编译
$ make
这个时候问题出现了!
无法编译通过,出现了段错误 (Segfault),make的出错提示信息如下:
Dumping under names emacs and emacs-22.0.50.1
**************************************************
Warning: Your system has a gap between BSS and the
heap (19987260 byte). This usually means that exec-shield
or something similar is in effect. The dump may
fail because of this. See the section about
exec-shield in etc/PROBLEMS for more information.
**************************************************
make[1]: *** [emacs] Segmentation fault
从上面的信息我们可以看到,问题出在emace的安装
与Linux操作系统2.6内核的安全补丁exec-shield冲突了,exec- shield是针对内存堆栈控制的安全补丁,可以预防一些内存泄露攻击等问题,默认是打开的。现在只需要在安装
的过程中把它临时关闭就可以了。
关闭的方法如下:
$ echo “0" > /proc/sys/kernal/exec-field
$ echo “0" > /proc/sys/kernal/randomize_va_space
(PS :安装
完毕重新打开exec-field的时候,把上面两句命令的”0″变成”1″,就行了)
(5)重新配置
这个时候,就可以再进行重新配置,编译了。
先清除掉原来的安装
:
$ make clean
$ make distclean
(6)继续安装
$ ./configure
$ make
$ make install
大功告成!