【问题标题】:Why doesn't Lisp-Stat load with quicklisp under MacOS?为什么在 MacOS 下 Lisp-Stat 不能用 quicklisp 加载?
【发布时间】:2022-10-13 11:56:24
【问题描述】:

我对 Common Lisp 和 Lisp-Stat 比较陌生。但我想尝试一下,并在我的实证社会研究中尝试一下。

不幸的是,安装 LISP-Stat 无法构建。

我的设置SBCL 2.2.8 / Emacs 28.1 (Doom Emacs 配置) / SLIME 2.27 / 全部在 MacOS Monterey 12.6 上

我尝试了什么:(ql:quickload :lisp-stat)

错误信息

; Loading "lisp-stat"
;   caught 1 fatal ERROR condition
Building #P"/Users/stefan/common-lisp/cephes.cl/scipy-cephes/libmd.so"
gcc -g -O2 -Wall -Wno-unused-function -fno-builtin -fPIC -include cephes.h -include math.h   -c -o cbrt.o cbrt.c

完整的回溯

 0: ((:METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION ASDF/SESSION:SESSION-CACHE (1)> NIL) [fast-method]
 1: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION ASDF/SESSION:SESSION-CACHE (1)> (NIL))
 2: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1002DF771B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
 3: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "lisp-stat" :VERBOSE NIL) [fast-method]
 4: (ASDF/OPERATE:LOAD-SYSTEM "lisp-stat" :VERBOSE NIL)
 5: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1002DF6AAB}>)
 6: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "lisp-stat" :PROMPT NIL)
 7: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1002CBDA4B}>) [fast-method]
 8: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1004C6D5C3}> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1002CBDA4B}>) [fast-m..
 9: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) :LISP-STAT :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
10: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1002CAF0CB}>)
11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :LISP-STAT) #<NULL-LEXENV>)
12: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :LISP-STAT))
13: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1))
14: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY mREPL evaluation request." #<FUNCTION (LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1) {1002CAE0AB}>)
      Locals:
        MSG = "Retry SLY mREPL evaluation request."
        THUNK = #<FUNCTION (LAMBDA () :IN SLYNK-MREPL::MREPL-EVAL-1) {1002CAE0AB}>
15: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1))
16: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER))
17: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*DEFAULT-PATHNAME-DEFAULTS* . #P"/Users/stefan/Nextcloud/Dokumente/eBooks/03_Technik/Programmieren/Lisp/") (*) (**) (***) (/) ...
18: (SLYNK-MREPL::MREPL-EVAL-1 #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :lisp-stat)")
19: (SLYNK-MREPL::MREPL-EVAL #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :lisp-stat)")
20: (SLYNK:PROCESS-REQUESTS NIL)
21: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
22: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
23: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {1001A9800B}>)
24: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/Users/stefan/.emacs.d/.local/elpa/sly-20220713.1433/slynk/backend/sbcl.lisp") #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SLYNK:..
25: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER))
26: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*DEFAULT-PATHNAME-DEFAULTS* . #P"/Users/stefan/Nextcloud/Dokumente/eBooks/03_Technik/Programmieren/Lisp/") (*) (**) (***) (/) ...
27: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
28: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
29: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::RUN))
30: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
31: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::RUN))
32: (SB-THREAD::RUN)
33: ("foreign function: call_into_lisp_")
34: ("foreign function: funcall1")

为什么不编译?非常感谢任何帮助。

【问题讨论】:

    标签: quicklisp xlispstat


    【解决方案1】:

    Cephes 存在无法在 MacOS 上加载的问题,该问题已于 2022 年 10 月 13 日得到纠正。

    Quicklisp 最近更新有点慢,你不想使用现在的版本。更好的选择是get the source code,然后从那里开始。

    【讨论】:

    • 谢谢你的提示。克隆了存储库,运行了(asdf:load-system :lisp-stat),但在构建 cephes 时仍然出现相同的错误。 Building #P"/Users/stefan/common-lisp/cephes.cl/scipy-cephes/libmd.so" ; Debugger entered on #&lt;SB-POSIX:SYSCALL-ERROR {1003D652C3}&gt;
    • 这可能是在 MacOS 上构建共享库的问题。我没有要测试的 darwin 机器,但是您需要做的是找出生成共享库的标志(它不会是 .so,我相信它们是 .dylib 扩展名)。
    猜你喜欢
    • 1970-01-01
    • 2019-12-24
    • 2012-12-04
    • 2022-01-10
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多