emacs+slime+sbcl的配置
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
(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的所有加载信息都会显示出来