Wie kann ich ein Common Lisp-Bild mit SBCL richtig speichern?

Wie mache ich es richtig, wenn ich ein Lisp-Image meines Programms erstellen möchte? Gibt es irgendwelche Voraussetzungen? Und spielt es sich nicht gut mit QUICKLISP?

Right now, wenn ich SBCL starte (mit nur vorinstalliertem QUICKLISP) und das Bild speichere:

(save-lisp-and-die "core")

Und versuchen Sie dann, SBCL mit diesem Bild erneut zu starten

sbcl --core core

Und dann versuche folgendes zu tun:

(ql:quickload :cl-yaclyaml)

Ich bekomme folgendes:

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] 

Alternativ, wenn ich versuche:

(require 'sb-sprof)

wenn sbcl mit gespeichertem Kern gestartet wird, erhalte ich den gleichen Fehler. Wenn sbcl nur als @ gestartet wisbcl Es wurde kein Fehler gemeldet.

Tatsächlich ist das Vorladen von QUICKLISP kein Problem: Das gleiche Problem tritt auf, wenn sbcl anfänglich mit @ aufgerufen wirsbcl --no-userinit --no-sysinit.

ache ich es falsc

PS. Wenn ich roswell benutze,ros -L sbcl-bin -m core run nimmt das Bild irgendwie nicht auf (getestet durch Deklaration der Variablen*A* vor dem Speichern und nach dem Neustart nicht mehr sehen).

PS2. Bisher sieht es so aus, als ob sbcl keine Erweiterungsmodule zur Verfügung stellt SB-SPROF, SB-POSIX usw.), es sei denn, sie werden ausdrücklich benötigt, bevor das Bild gespeichert wird.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage