emacs+slime+sbcl的配置

最近将ubuntu升级了,大部分软件都能正常使用,唯独emacs挂了。打开emacs的时候,提示:

emacs: symbol lookup error: emacs: undefined symbol: gtk_window_set_has_resize_grip

看来是库找不到了,上google搜了一下,没有解决方法,没关系,重新装一个就是。

1、安装emacs。

先尝试用原来下好的源码安装,./configure提示找不到libtiff库,apt-get居然找不到这个库,还得添加其他的source。尝试了一下:./configure --with-out-libtiff,但是make的时候又出错了。

继续google,在stackoverflow上找到了好办法,有人建了一个PPA(Personal Package Archives),可以下到最新的编译好的emacs。还是有好心人!https://launchpad.net/~cassou/+archive/emacs

按照提示,先清理一下以前安装的emacs:

$ sudo apt-get update
$ sudo apt-get install
$ sudo apt-get purge emacs-snapshot-common emacs-snapshot-bin-common emacs-snapshot emacs-snapshot-el emacs-snapshot-gtk emacs23 emacs23-bin-common emacs23-common emacs23-el emacs23-nox emacs23-lucid auctex emacs24 emacs24-bin-common emacs24-common emacs24-common-non-dfsg

然后把这个PPA添加到apt库中:

$ sudo add-apt-repository ppa:cassou/emacs
$ sudo apt-get update

最后,安装emacs:

$ sudo apt-get install emacs-snapshot-el emacs-snapshot-gtk emacs-snapshot

2、安装SBCL。

这个可以直接apt-get安装,没有问题。

3、安装SLIME

slime也可以从apt安装,但是用debian提供的slime,不能正常加载,给出提示为:

; loading #P"/usr/share/common-lisp/source/slime/swank-loader.lisp"

debugger invoked on a SB-C::INPUT-ERROR-IN-COMPILE-FILE in thread #<THREAD "initial thread" RUNNING {AA65749}>:
   READ failure in COMPILE-FILE: SB-INT:SIMPLE-READER-PACKAGE-ERROR at 5611 (line 143, column 52)


而且即便在.emacs改了 'load-path 也不行,看来load-在google搜了一下,貌似是debian的一个bug,如果要改slime路径,符号名居然是slime-path http://comments.gmane.org/gmane.lisp.slime.devel/7423:

(setq slime-path "/usr/share/common-lisp/source/slime/") 

这里真不得不吐槽一下ubuntu7.04的问题,12.0都没改好。

既然有这种bug,干脆直接下载slime好了,首先删除原来安装的slime:

sudo apt-get remove slime --pruge

然后安装新的slime:

cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co slime

下载slime,保存在/usr/local/bin/slime下
 
最后,修改.emacs,加入:

(add-to-list 'load-path "/usr/local/bin/slime/") ;;这是SLIME的目录,下面有各种LISP方言的.el文件,包括SBCL和CLISP的 
(setq inferior-lisp-program "/usr/bin/sbcl") ;;指明用的Lisp的可执行文件
(require 'slime) 
(slime-setup '(slime-fancy)) ;;如果不加'(slime-fancy),slime的所有加载信息都会显示出来

 

posted @ 2013-08-26 17:24  yametech  阅读(2250)  评论(0编辑  收藏  举报