在AIX下安装emacs23
环境:p595 1c 20G,aix 5.3.0.4-csp,vacpp7.0,source code from ntemacs 2007.08.19
emacs 23的好处就不用多说了,内部以utf-8编码,对中文支持得好,代码比较新。但是也有问题,必须从cvs上check out source code,最近update的code在家里的ubuntu上不知道怎么回事编译后的程序总是报segment fault的错误,gdb emacs发现stack中有和xface.c、font 相关的gui的code,我没有改bug的能力,只能等待RMS把他的code改对了我再make source code了。
- 使用http proxy访问emacs23 cvs cvs -z3 -d ":pserver;proxy=192.168.1.1;proxyport=8080:anonymous@cvs.savannah.gnu.org:/sources/emacs" co -r emacs-unicode-2 emacs
cvsnt是支持用http proxy方式访问cvs的, 公司的局域网只能用http和socks代理,先考虑从emacs的cvs上直接下emacs23的tag,但是试了一下http proxy总是报错,分析原因后只能放弃这个想法了,因为我的http proxy不支持1.0协议中的 connect method,这样的请求被proxy直接拒绝,。又试了一下socks协议,也有问题只好放弃从emacs下source code编译这个想法了。
另外也怕直接从cvs上co的code编译后报错。反正是不能下最新的code了。又 google了半天看看没有找到合适的emacs23 source code的tar,就想到去 ntemacs上看看,ntemacs23用的source code虽然不是最新的,但是至少也应该比较稳定吧,不能怎么敢直接用来make。
马上firefox到http://sourceforge.net/projects/ntemacs,搞个最新的23的 code,如8月19日的, http://downloads.sourceforge.net/ntemacs/ntemacs23-src-20070819.exe?modtime=1187496595&big_mirror=0 download后是自解压格式的,解压后ftp到server上开始漫长的make之旅。 - make or gmake
compile source code是非常容易,
./configure --with-x
在aix下一般会报错少libtiff、libgif、libjpeg之类的库,再去download太麻烦了,干脆就去掉了。
makeinfo aix上也没有,这会导致make info报错,就没有help了,有点不方便,下次有时间再搞了,这次以可执行程序为首要目的。
make bootstrap这个过程比较漫长,机器的cpu太少了,只有-个物理的,编了一会就报错了,在开始make *.el的时候,问题比较怪异,报找不到compile el到elc的rule,看了一下temacs确实是可以用的,make就是报错,试了n次还是有问题,到其他的目录下去make bootstrap-build也不行(当然不行了,build只是为了节约时间,不删除已经compile了的obj文件,加快速度罢了),就此陷入困境了。
google的时候看到有人在free bsd build emacs 23用bsd的make编译报错,用 gmake就ok了。以前也有过在aix上用make不行用gmake就可以的问题,改用gmake 试试。
gmake -f Makefile bootstrap -j 44个process同时编译速度快些,一会就搞定问题了。接下来
gmake -f Makefile install完成后执行emacs,居然报错,/usr/local/bin/下没有emacs,怎么ediff和 etags就有?懒得看makefile 哪里有问题,直接cp过去得了,再ln -s emacs-23.0.0 emacs一下。
现在再执行一下emacs,速度飞快,1秒钟就出来了,p595就是快啊,呵呵。