问题标签 [asdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1994 浏览

common-lisp - 如何让 Emacs/Slime/SBCL 识别 quicklisp 包

我正在尝试让 Emacs、SLIME 和 quicklisp 一起正常工作。我设置了以下环境:

  • 安装的 Emacs
  • 在 Emacs 中安装 SLIME
  • 安装 SBCL
  • 安装了 quicklisp
  • (quicklisp-quickstart:install)在 SBCL 中运行
  • (ql:add-to-init-file)在 SBCL 中运行
  • (ql:quickload "quicklisp-slime-helper")在 SBCL 中运行
  • (ql:quickload "cl-csv")在 SBCL 中使用安装包 cl-csv
  • 添加(setq inferior-lisp-program "sbcl")到 .emacs
  • 添加(load (expand-file-name "~/quicklisp/slime-helper.el"))到 .emacs
  • 重新启动一切

我有一个以加载包并使用它test.lisp开头的文件。(ql:quickload "cl-csv")当我将文件加载到 Emacs 并运行 SLIME,然后尝试slime-compile-and-load-file使用Package CL-CSV does not exist.

为了让这些部分正常工作,我错过了什么?

0 投票
1 回答
531 浏览

lisp - 如何分发 asdf/quicklisp 依赖项以及使用 Embeddable Common Lisp 编译的应用程序?

我已经尝试过这个示例ECL 存储库 asdf 示例,它工作正常,但它没有任何 asdf 依赖项。如果我添加

:depends-on (#:inferior-shell)

到 example.asd 然后运行编译的独立可执行文件出现此错误

是什么导致了这个错误,处理 asdf 对ECL的依赖的惯用方法是什么?

0 投票
1 回答
174 浏览

windows - 可嵌入的 Common-Lisp asdf:defsystem 返回无效的相对路径名

我正在尝试学习如何使用 Common-Lisp 的 asdf,并且我有以下代码:

但是,我不断收到错误消息:

我在与这两个 Lisp 文件相同的目录中启动 repl,但我不明白为什么会出现错误。我错过了什么?我在 Windows 上使用 ECL

0 投票
1 回答
392 浏览

windows - asdf:make-build on Windows fails

I have the following files

example.asd:

first.lisp:

second.lisp:

I can successfully load the system, but doing (asdf:make-build :example :type :program :move-here ".") gives the following error:

LINK : fatal error LNK1149: output filename matches input filename 'C:\path\to\example.lib'

Is there something I'm not configuring properly? It seems to be creating example.lib, then making example.exe link example.lib, and cl does not like them being named the same. Is there a way to specify the name of the resulting executable? Or is this just a bug in ECL's asdf:make-build?

I'm using ECL on Windows 10 with Visual Studio 2015's developer tools.

0 投票
2 回答
109 浏览

git - 从 GitHub 检索 Common Lisp 项目依赖项

我有一个 Common Lisp 项目,它依赖于托管在 GitHub 上的 C/C++ 库。我需要克隆、配置和创建此依赖项才能使我的项目正常工作,我更愿意在 Common Lisp 中执行此操作,而不是提供 shell 脚本。

为 Common Lisp 项目自动执行此操作的最佳方法是什么?我尝试使用 INFERIOR-SHELL 复制我的 shell 命令,但它在git clone.

0 投票
1 回答
206 浏览

build - ASDF 包管理和 Common Lisp 入门

我在开始使用ASDFCommon Lisp 时遇到了麻烦。

我怎样才能得到一个最小的例子?

0 投票
0 回答
91 浏览

build - 重复的系统符号 ASDF Common Lisp

如果我使用 ASDF 构建我的 Common Lisp 系统并且在我的 ASDF 路径中有多个项目,我如何避免我的系统名称的命名冲突?

例如,如果project-a两者project-b都使用一个系统utilities但他们使用不同的系统utilities,我如何确保 ASDF 找到正确的utilites系统?

我知道我可以使实用程序成为目录而不是系统并引用单个文件,但我发现使用 ASDF 是可取的,因此我不必担心指定路径。另外,我试图避免使用 C 风格的方式来避免冲突,例如project-a-utilities.

这里有一个我不知道的典型约定吗?

0 投票
1 回答
163 浏览

architecture - 如何:使用我用 ASDF 创建的系统?

System-A 和 System-B 是使用 ASDF 制作的系统。它们都在.asd文件中具有系统定义并分别定义包:system-a:system-b

我希望 System-A 到:useSystem-B 的包在其包定义中。我想要这个,以便我可以在 System-A 中使用 System-B 的符号,而无需参考 System-B 的包。具体来说,我想使用symbol而不是system-b:symbol.

目前,在 System-A 的包定义中,我正在尝试:use :system-b. 这适用于我使用 QuickLisp 导入的实习生库,但不适用于我自己的系统。

我怎样才能:use :system-b在 System-A 的包中实习符号?

0 投票
1 回答
286 浏览

common-lisp - 如何确保每次加载我的系统时 ASDF 加载一个动态外部库?

我正在寻找一种惯用的方式来设置我的项目,无论是通过 .asd 文件中的选项还是其他方式,以便使用 cffi 自动加载我所依赖的动态外部库。

这是我正在尝试的:在一个名为 armadillo.lisp 的文件中,我有

当我第一次启动粘液时,我会输入

这会引发错误:

如果我然后将上面相同的 cffi 代码片段剪切并粘贴到我的 slime REPL 中,我会得到:

编辑:回答德克的评论。目前 specials.lisp 和 io.lisp 都是空文件,保存一个 defpackage 和一个用于整个项目版本号的表格。

我也会将 armadillo.lisp 包含在故障点中

0 投票
1 回答
611 浏览

ssl - 使用 Quicklisp 安装 CL+SSL 时“无法加载任何替代方案”,即使在安装了 open ssl 之后也是如此

在将头撞到墙上三天之后,我要问关于堆栈溢出的第一个问题。运气好的话,它不会被删除,而且还有更多的解决方案。

在尝试通过 quicklisp 安装 Humbler 时,CL+SSL(几个依赖项之一)抱怨“无法加载任何替代项:(libss132.dll “ssleay32.dll”)

我很快就知道我必须安装 OpenSSL dll,这很容易完成。我还了解到我可能必须将 CFFI 指向我的 dll 的方向,并且我必须确保获得 64 位版本。但这个错误一直存在。

在 Win 7 64 上使用 Clisp 2.47

我已经尝试过的事情:

  • 安装开放的 ssl dll
  • 安装 VS 2008 Redist
  • 将这些 dll 放入 system32
  • 将它们放在与 Clisp .exe 相同的文件夹中
  • 将它们放入 OpenSSL 创建的安装文件夹中
  • 使用“改用另一个库”重新启动指向每个单独 dll 的确切位置
  • 将各个位置推送到 CFFI:Foreign-Library-Directories列表

    Break 1 CL+SSL[3]> :R2 输入一个新值(未计算):(“C:\OpenSSL-Win64\libssl32.dll”)*** - 无法加载外部库(LIBSSL32.DLL-8079)。FFI:OPEN-FOREIGN-LIBRARY:无法打开库“C:\OpenSSL-Win64\libssl32.dll”

  • 卸载然后安装所有不同的 OpenSSL 版本

  • 可用 以管理员身份运行 Clips 删除 Quicklisp 的
  • CL+SSL 的缓存 在 SBCL 和 Lispworks 中完成上述所有步骤
  • 将其关闭并再次打开

我以前从未问过有关堆栈溢出的问题。再说一次,我从来没有花三天时间尝试加载依赖项。在我中风之前请帮忙。