注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 CCIE-Lab考试将新增10分钟..
 帮助

fedora下emacs安装问题


2008-03-11 17:58:48
 标签:linux emacs   [推送到技术圈]

据说emacs-23.*.*不是太稳定,所以决定采用Emacs22,去ChinaUnix找到了安装包 emacs-22.0.50-20050225.tar.gz,点击这里进入下载页面。
接下来是解压安装,安装时应该切换到root用户下。
$ 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
配置
$ ./configure
编译
$ 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/kernel/exec-field
$ echo "0"  > /proc/sys/kernel/randomize_va_space
(PS :安装完毕重新打开exec-field的时候,把上面两句命令的”0″变成”1″,就行了)

这个时候,就可以再进行重新配置,编译了。
先清除掉原来的安装:
$ make clean
$ make distclean
继续安装
$ ./configure
$ make
$ make install




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: