我正试图将cffi软件包安装到sbcl中。首先,我尝试了cffi安装页面中推荐的clbuild。当我试图逃跑时:
clbuild quickload cffi
我犯了一个错误,说:
The function ASDF::SOURCE-REGISTRY is undefined.
然后我尝试了asdf-install,最后它抱怨
Component "cffi-examples" not found
如能对此提供任何帮助,将不胜感激。
更新
对于asdf-install,我正在运行带有黏液的sbcl。似乎每当它抱怨缺少的组件时,实际上就安装了该组件。我只需中止调试器并重新启动Emacs,启动slime,然后重新安装,它就会成功完成。如果我没有在终端的sbcl提示符中运行它,它就会不停地抱怨组件丢失。
因此,要使cffi安装在asdf-install中,我必须重新启动Emacs 4-5次。
我不确定sbcl是否存在配置问题?
我想我应该用不同的思路来问这个问题。
发布于 2011-07-12 19:58:55
使用Quicklisp非常容易。要安装Quicklisp:
然后,您可以按如下方式安装和加载CFFI:
我在使用quickproject和Quicklisp创建一个小型Lisp项目上写了一些关于如何管理小型项目及其所需库的文章。
发布于 2011-07-12 20:21:44
以下是Windows 7下手动安装的确切步骤:
首先,从以下站点下载并安装SBCL:
http://www.sbcl.org/platform-table.html
然后下载和解压缩(tar xzf ...
) 巴贝尔、亚历山德里亚、琐碎特征和cffi。
然后,启动SBCL,加载ASDF,并将这些系统的路径添加到asdf:*central-registry*
中。
C:\Program Files\Steel Bank Common Lisp\1.0.49>sbcl.exe --core sbcl.core
This is SBCL 1.0.49, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
* (load "asdf/asdf")
T
* (push "C:/Users/dhl/build/asdf/babel_0.3.0/" asdf:*central-registry*)
("C:/Users/dhl/build/asdf/babel_0.3.0/")
* (push "C:/Users/dhl/build/asdf/alexandria/" asdf:*central-registry*)
("C:/Users/dhl/build/asdf/alexandria/" "C:/Users/dhl/build/asdf/babel_0.3.0/")
* (push "C:/Users/dhl/build/asdf/trivial-features_0.6/" asdf:*central-registry*)
("C:/Users/dhl/build/asdf/trivial-features_0.6/"
"C:/Users/dhl/build/asdf/alexandria/" "C:/Users/dhl/build/asdf/babel_0.3.0/")
* (push "C:/Users/dhl/build/asdf/cffi_0.10.6/" asdf:*central-registry*)
("C:/Users/dhl/build/asdf/cffi_0.10.6/"
"C:/Users/dhl/build/asdf/trivial-features_0.6/"
"C:/Users/dhl/build/asdf/alexandria/" "C:/Users/dhl/build/asdf/babel_0.3.0/")
*
(当然,您必须给出到库的路径,而不是‘C:/Users/dhl/.’)
然后,您可以加载CFFI:
* (asdf:load-system 'cffi)
[much compilation output]
T
*
现在,这几乎是安装通用Lisp系统的最基本的方式。现在,有了Quicklisp,它很容易使用,并且被Xach的答案所覆盖。另外,请注意,有更好的方法可以使用asdf注册您的系统,比如在支持符号链接的平台上将asd-文件符号链接到单个目录,而ASDF 2提供了一个source-registry
工具,因此您根本不必处理asdf:*central-registry*
(我仍然喜欢使用asdf:*central-registry*
)。
总之,我想Xach的答案是获得CFFI的工作安装的最简单的方法,所以我推荐他的答案,并投票表决,但我已经开始写我的文章在他发布之前,也许它对你有帮助,知道如何手动做事情。
https://stackoverflow.com/questions/6669756
复制相似问题