自分のプログラムの Lisp イメージを作成したい場合、どうすれば適切に作成できますか? 前提条件はありますか?QUICKLISP との相性も抜群ですよね?
ここで、SBCL を (QUICKLISP だけをプリロードして) 起動し、イメージを保存すると、次のようになります。
(save-lisp-and-die "core")
そして、このイメージで SBCL を再起動してみてください
sbcl --core core
そして、やってみてください:
(ql:quickload :cl-yaclyaml)
私は以下を取得します:
To load "cl-yaclyaml":
Load 1 ASDF system:
cl-yaclyaml
; Loading "cl-yaclyaml"
.......
debugger invoked on a SB-INT:EXTENSION-FAILURE in thread
#<THREAD "main thread" RUNNING {100322C613}>:
Don't know how to REQUIRE sb-sprof.
See also:
The SBCL Manual, Variable *MODULE-PROVIDER-FUNCTIONS*
The SBCL Manual, Function REQUIRE
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry completing load for #<REQUIRE-SYSTEM "sb-sprof">.
1: [ACCEPT ] Continue, treating completing load for #<REQUIRE-SYSTEM "sb-sprof"> as having been successful.
2: Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
4: [ABORT ] Give up on "cl-yaclyaml"
5: Exit debugger, returning to top level.
(SB-IMPL::REQUIRE-ERROR "Don't know how to ~S ~A." REQUIRE "sb-sprof")
0]
または、試してみると:
(require 'sb-sprof)
保存したコアで sbcl を開始すると、同じエラーが発生します。sbcl
エラーが報告されていないのと同じように sbcl が開始された場合。
実際、QUICKLISP のプリロードは問題ではありません。最初に sbcl を呼び出すと、同じ問題が発生しsbcl --no-userinit --no-sysinit
ます。
私はそれを間違っていますか?
PS。roswellを使用すると、ros -L sbcl-bin -m core run
どういうわけか画像を取得できません(*A*
保存する前に変数を宣言し、再起動すると表示されないことでテストされています)。
PS2。これまでのところ、イメージを保存する前に明示的に必要とされない限り、sbcl は拡張モジュール ( 、 など) を提供していないようSB-SPROF
です。SB-POSIX