[Asdf-devel] Need to do uiop:setup-temporary-directory in image built with uiop

Faré fahree at gmail.com
Tue Jun 17 19:51:11 UTC 2014

On Tue, Jun 17, 2014 at 2:51 PM, Robert P. Goldman <rpgoldman at sift.info> wrote:
> Dave Cooper wrote:
>> I think my issue is that I am not using the UIOP image dump facility.
>> This is because in Allegro CL we use thei built-in excl functions like
>> excl:generate-application --- it's not a matter of a generic dumplisp.
>> So I'm pretty sure the solution is to call the
>> register-image-restore-hook myself as part of e.g. the post-load-form of
>> e.g. excl:generate-application. Longer term, maybe I can look into
>> extending the UIOP image dump mechanism itself, to be able to use the
>> different mechanisms in Allegro in addition to the generic excl:dumplisp.
> You might also want to contact the Franz folks and warn them that ASDF
> may corrupt images that they dump, and have them fix their
> application-building and image-dumping facilities to avoid these problems.
> Maybe Franz should extend their copy of the ASDF library to infiltrate
> the image-handling process when they bundle it into ACL.
Corrupt is a big word. Fail to implicitly call ASDF-defined image hooks.

It is probably a bug that there isn't a uiop/stream:clear-temporary-directory
that gets registered via uiop/configuration:register-clear-configuration-hook
in uiop/configuration. I can do it, though I'd rather someone else do it.

That said, even with that hook function defined and registered,
you still need to explicitly (call-image-dump-hook)
before you dump an image using implementation-specific tools, and
you need to (call-image-restore-hook) when you restart.

> I'd encourage you to do that, and CC me when you submit the bugreport to
> Franz.
I don't believe there's any Franz bug.
It's a bug in how UIOP is not used properly.
These hooks probably need to be documented better, too.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
He was a great patriot, a humanitarian, a loyal friend;
provided, of course, he really is dead.

More information about the asdf-devel mailing list