Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
I suggest adding SBCL a feature that unloads all shared libraries. It
could be a function
or workable through an internally maintained list
(dolist (lib sb-alien:*shared-objects-list*)
or it could be part of save-lisp-and-die:
(save-lisp-and-die "image" :unload-shared-objects t)
;; Unload before dump. Default value NIL.
(save-lisp-and-die "image" :reload-shared-objects nil)
;; Reload after image load. Default value T.
Rationale: SBCL automatically reloads shared libraries that were present
at save-lisp-and-die operation. It's a handy feature but when a Lisp
image is distributed to other people it's better to not automatically
load shared libraries from the fixed locations that were present at
image-dumping time. Loading libraries manually from system's default
locations is more robust. Probably the most common way for manual
loading is through CFFI library.
I'm aware of sb-alien:load-shared-object's :dont-save key but its use is
difficult when shared libraries are loaded by other people's code (most
probably using CFFI). This is why I think it would useful to have a
simple "unload all" before dump or "don't reload automatically" option
at image startup.