首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

cffi安装
EN

Stack Overflow用户
提问于 2011-07-12 19:14:56
回答 2查看 3.1K关注 0票数 3

我正试图将cffi软件包安装到sbcl中。首先,我尝试了cffi安装页面中推荐的clbuild。当我试图逃跑时:

代码语言:javascript
运行
复制
clbuild quickload cffi

我犯了一个错误,说:

代码语言:javascript
运行
复制
The function ASDF::SOURCE-REGISTRY is undefined.

然后我尝试了asdf-install,最后它抱怨

代码语言:javascript
运行
复制
Component "cffi-examples" not found

如能对此提供任何帮助,将不胜感激。

更新

对于asdf-install,我正在运行带有黏液的sbcl。似乎每当它抱怨缺少的组件时,实际上就安装了该组件。我只需中止调试器并重新启动Emacs,启动slime,然后重新安装,它就会成功完成。如果我没有在终端的sbcl提示符中运行它,它就会不停地抱怨组件丢失。

因此,要使cffi安装在asdf-install中,我必须重新启动Emacs 4-5次。

我不确定sbcl是否存在配置问题?

我想我应该用不同的思路来问这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-12 19:58:55

使用Quicklisp非常容易。要安装Quicklisp:

  • 下载http://beta.quicklisp.org/quicklisp.lisp
  • sbcl -负载quicklisp.lisp
  • (快速启动:安装)
  • (ql:添加到init文件)

然后,您可以按如下方式安装和加载CFFI:

  • (ql:快速装载"cffi")

我在使用quickproject和Quicklisp创建一个小型Lisp项目上写了一些关于如何管理小型项目及其所需库的文章。

票数 10
EN

Stack Overflow用户

发布于 2011-07-12 20:21:44

以下是Windows 7下手动安装的确切步骤:

首先,从以下站点下载并安装SBCL:

http://www.sbcl.org/platform-table.html

然后下载和解压缩(tar xzf ...) 巴贝尔亚历山德里亚琐碎特征cffi

然后,启动SBCL,加载ASDF,并将这些系统的路径添加到asdf:*central-registry*中。

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
* (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的工作安装的最简单的方法,所以我推荐他的答案,并投票表决,但我已经开始写我的文章在他发布之前,也许它对你有帮助,知道如何手动做事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6669756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档