新项目中有一块要通过Shell脚本来与工作流和数据库交互,这块以前没做过,觉得很有挑战,跟Leader申请了一下,准备由我负责Shell脚本和Oracle 数据库方面的开发。先来研究一下Shell。工欲善其事必先利其器,早就听说Emacs 的大名,以前只在Windows下浅尝辄止,这次在Linux上要好好整整。

 1、下载源代码

首先下载最新Emacs源代码,当前是23.2。

 2、然后把依赖的一些包装上去。

依赖的实在太多了,偷懒用yum了 (其实 emacs 也可以用 yum 来安装的,只是不是最新版本 yum -y install emacs)。

yum install –y Xaw3d-devel

yum install –y libjpeg-devel

yum install –y libpng-devel

yum install -y libtiff-devel

yum install -y giflib-devel

 3、解压,进入目录

./configure

make

src/emacs -q(检查)

报错啦:

X connection to localhost:10.0 broken (explicit kill or server shutdown).

把X window (Xming,VcXsrv等等)开启,再试,又报:

No suitable font was found

查看文档,有提到字体那块,XFree86基本包含了所有要用到的字体,干脆就装个XFree86吧。

 4、安装XFree86

同样先下载源代码,然后解压,装起来也挺麻烦的:

gzip -d < XFree86-4.8.0-src-1.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-2.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-3.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-4.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-5.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-6.tgz | tar vxf -
gzip -d &lt; XFree86-4.8.0-src-7.tgz | tar vxf -

 

官方建议不要直接在解压目录来进行编译安装,而是另建一个shadow 目录来安装,理由如下:

1、外部文件不在CVS的控制之下,不会被接触。   

2、为从同样来源的几个不同的操作系统或硬件结构的构建XFree86提供了的更好的灵活性; 通过加载只读NFS来共享。   

3、不同的配置选项可以创建一个host.def文件的的拷贝来定制化。

 说了半天闲话,操作吧:

cd the directory containing the xc directory
mkdir build

cd build
lndir ../xc

 

接下来开始编译啦。

XFree 也不省事啊,编译的时候报出了一堆依赖错误。

先把这三个装上:bison,flex,ncurses-devel

yum install -y bison

yum install -y flex

yum install -y ncurses-devel

 Ok,开编吧。

make World > World.log 2&gt;&1

你可以直接make,官方建议把日志记到 World.log 里,然后通过 tail -f World.log 来查看。

经过三次失败后(上面的三个依赖没装导致的),终于出现:

Full build of XFree86 version 4.8.0 (15 December 2008) complete.

长叹一声,真是事不过三啊!

 5、完成Emacs安装

回到Emacs目录,再次检查(注意把X window 开启)。

src/emacs –q

 在CentOS5.4上安装Emacs_XFree86

 终于成功啦!

好最后敲一个 make install

大功告成!