Como salvar corretamente a imagem Common Lisp usando SBCL?

Se eu quiser criar uma imagem Lisp do meu programa, como faço isso corretamente? Existem pré-requisitos? E não funciona muito bem com o QUICKLISP?

No momento, se eu iniciar o SBCL (com apenas o QUICKLISP pré-carregado) e salvar a imagem:

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

E tente iniciar o SBCL novamente com esta imagem

sbcl --core core

E então tente fazer:

(ql:quickload :cl-yaclyaml)

Eu recebo o seguinte:

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] 

Como alternativa, se eu tentar:

(require 'sb-sprof)

Quando o sbcl é iniciado com o núcleo salvo, eu recebo o mesmo erro. Se o sbcl for iniciado da mesma maneirasbcl não há nenhum erro relatado.

De fato, pré-carregar o QUICKLISP não é um problema: o mesmo problema ocorre se o sbcl for chamado inicialmente comsbcl --no-userinit --no-sysinit.

Estou fazendo errado?

PS. Se eu usar Roswell,ros -L sbcl-bin -m core run de alguma forma, não capta a imagem (testada declarando variável*A* antes de salvar e não vê-lo depois de reiniciado).

PS2. Até agora, o que parece é que o sbcl não fornece módulos de extensão (SB-SPROF, SB-POSIX, etc.), a menos que sejam explicitamente necessários antes de salvar a imagem.

questionAnswers(2)

yourAnswerToTheQuestion