红联Linux门户
Linux帮助

怎么在虚拟机ubuntu9.10上安装emacs22.0.50.1啊?

发布时间:2011-04-26 12:53:03来源:红联作者:skzqsd
我按照这种方法做了
------------------------------------------------------------------------------------------------------------------------------------

先下载Emacs的稳定版本。
接下来是解压安装,安装时应该切换到root用户下。
$ cp emacs-21.3.tar.gz /opt
$ cd /opt
$ tar -xvzf emacs-21.3.tar.gz
这时解压生成一个emacs-21.3的目录
$ cd emacs-21.3
配置
$ ./configure
编译
$ make
这个时候问题出现了!
无法编译通过,出现了段错误 (Segfault).


问题出在emace的安装与Linux操作系统2.6内核的安全补丁exec-shield冲突了,exec-shield是针对内存堆栈控制的安全补丁,可以预防一些内存泄露攻击等问题,默认是打开的。现在只需要在安装的过程中把它临时关闭就可以了。
关闭的方法如下:
$ echo “0″ > /proc/sys/kernel/exec-shield
$ echo “0″ > /proc/sys/kernel/randomize_va_space
(PS :安装完毕重新打开exec-field的时候,把上面两句命令的”0″变成”1″,就行了)

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

---------------------------------------------------------------------------------------------------------------------------------------------------
但是我找不到那两个文件,是不是linux各个发行版的目录结构不同啊,那么exec-shield,randomize_va_space到底在ubuntu中怎样找到并操作呢?

附我系统的提示信息:
**************************************************
Warning: Your system has a gap between BSS and the
heap (14197980 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.
**************************************************
Segmentation fault
make[1]: *** [emacs] Error 139
make[1]: Leaving directory `/home/book/emacs/src'
make: *** [src] Error 2
文章评论

共有 0 条评论