Common lisp 在ECL上编译与UFFI相关的程序

Common lisp 在ECL上编译与UFFI相关的程序,common-lisp,ecl,Common Lisp,Ecl,有没有一种方法可以在嵌入式通用lisp上编译UFFI相关的lisp程序而不进行修改 例如,当我试图通过Quicklisp加载CLSQL时,我得到以下错误: > (ql:quickload "clsql") Condition of type: LOAD-SYSTEM-DEFINITION-ERROR Error while trying to load definition for system clsql from pathname /home/thorin/quicklisp/dis

有没有一种方法可以在嵌入式通用lisp上编译UFFI相关的lisp程序而不进行修改

例如,当我试图通过Quicklisp加载CLSQL时,我得到以下错误:

> (ql:quickload "clsql")

Condition of type: LOAD-SYSTEM-DEFINITION-ERROR
Error while trying to load definition for system clsql from pathname /home/thorin/quicklisp/dists/quicklisp/software/clsql-20120107-git/clsql.asd: Cannot find the external symbol GETENV in #<"FFI" package>.

Available restarts:

1. (ABORT) Give up on "clsql"
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of: (QUICKLISP-CLIENT:QUICKLOAD "clsql")]
>(ql:quickload“clsql”)
类型条件:LOAD-SYSTEM-DEFINITION-ERROR
尝试从路径名/home/thorin/quicklisp/dists/quicklisp/software/clsql-20120107-git/clsql.asd加载系统clsql的定义时出错:在#中找不到外部符号GETENV。
可用的重新启动:
1.(中止)放弃“clsql”
2.(重新启动-顶级)返回顶级REPL。
在SI处中断:字节码。[评估:(QUICKLISP-CLIENT:QUICKLOAD“clsql”)]
更有趣的是,当我在不退出的情况下第二次发出命令时,我得到了以下错误:

> (ql:quickload "clsql")
To load "clsql":
  Load 1 ASDF system:
    clsql
; Loading "clsql"
[package cmucl-compat]............................
[package clsql-sys]...............................
[package clsql]...................................
[package clsql-user]
FINALIZE-INHERITANCE 
;;; Error:
;;;   in file kmr-mop.lisp, position 1682
;;;   at (FINALIZE-INHERITANCE (FIND-CLASS '%SLOT-ORDER-TEST-CLASS))
;;;   * The form (FINALIZE-INHERITANCE (FIND-CLASS '%SLOT-ORDER-TEST-CLASS)) was not evaluated successfully.
;;; Error detected:
;;; The function FINALIZE-INHERITANCE is undefined.
Condition of type: COMPILE-ERROR
Error while invoking #<compile-op (:VERBOSE NIL) 000000000497ae70> on #<cl-source-file "clsql" "sql" "base" "kmr-mop">
>(ql:quickload“clsql”)
要加载“clsql”:
加载1 ASDF系统:
clsql
; 正在加载“clsql”
[包装cmucl兼容性]。。。。。。。。。。。。。。。。。。。。。。。。。。。。
[程序包clsql系统]。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
[程序包clsql]。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
[包clsql用户]
非继承
;;; 错误:
;;;   在文件kmr-mop.lisp中,位置1682
;;;   在(FINALIZE-heritation(查找类“%SLOT-ORDER-TEST-CLASS))
;;;   * 表单(FINALIZE-heritation(FIND-CLASS'%SLOT-ORDER-TEST-CLASS])未成功求值。
;;; 检测到错误:
;;; 函数FINALIZE-heritance未定义。
类型的条件:编译错误
调用#on时出错#

也许这与Quicklisp有关。

ECL的ffi接口与UFFI兼容

ECL的ffi接口与UFFI兼容

您好,错误消息说在包“FFI”中找不到外部符号GETENV。GETENV不属于FFI。它是ECL对通用Lisp标准的扩展的一部分,名为EXT:GETENVHi,错误消息称在包“FFI”中找不到外部符号GETENV。GETENV不属于FFI。它是ECL对公共Lisp标准的扩展的一部分,称为EXT:GETENV