Я пытаюсь использовать curses
из Common Lisp, а широко используемые библиотеки cl-charms
и croatoan
нуждаются в cffi
. В SBCL на Mac ql:quickload
обычно работает нормально... но установка cffi
(напрямую или как зависимость от одной из других библиотек) завершается ошибкой:
(ql:quickload :cffi)
Дает мне вывод REPL:
; caught ERROR:
; READ error during COMPILE-FILE:
;
; Lock on package SB-ALIEN violated when interning SHARED-OBJECT-FILE while in
; package CFFI-SYS.
и трассировка стека:
Error while trying to load definition for system cl-charms from pathname
/Users/jacobsen/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/cl-charms.asd:
COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "cffi" "src" "cffi-sbcl">
[Condition of type ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR]
Restarts:
0: [RETRY] Retry compiling #<CL-SOURCE-FILE "cffi" "src" "cffi-sbcl">.
1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "cffi" "src" "cffi-sbcl"> as having been successful.
[...]
--more--
Backtrace:
0: ((FLET "H0" :IN ASDF/ACTION:PERFORM) #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10039748F3}>)
1: (SB-KERNEL::%SIGNAL #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10039748F3}>)
2: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT "~/asdf-action::format-action/" :CONTEXT-ARGUMENTS ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-sb..
3: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-sbcl">)))
[...]
--more--
Это также происходит, когда я brew uninstall sbcl
устанавливаю SBCL из исходного кода. Мой SBCL - последняя версия (1.5.6).
Какая дополнительная настройка необходима, чтобы заставить SBCL работать с библиотеками, требующими FFI?
Дополнение / редактирование: он также не работает таким же образом, используя Roswell для установки SBCL вместо прямой установки SBCL в Homebrew.