[Asdf-devel] Need to do uiop:setup-temporary-directory in image built with uiop
Robert P. Goldman
rpgoldman at sift.info
Tue Jun 17 16:30:25 UTC 2014
Dave Cooper wrote:
>
> Dear ASDF maintainer(s),
>
> I just noticed that it is necessary to do
>
> (uiop:setup-temporary-directory)
>
> in an image which has UIOP built into it, when that image is run on a
> different machine or under a different user account (at least on
> Windows). Otherwise, the function
>
> (uiop:temporary-directory)
>
> returns whatever was the temporary directory as computed in the build
> environment (in my case it's in the "dcooper8" home directory.
>
> So am I correct that it's pretty much a requirement to call
>
> (uiop:setup-temporary-directory)
>
> upon startup of an image which contains uiop built into it?
>
> Are there any other functions which should be called to initialize uiop?
>
> Is there a way to achieve this at image dump time instead of startup
> time (e.g. clearing the temporary directory entirely so it will be
> forced to reset when next demanded in the built image)?
>
> If I'm missing something from the documentation on this please feel free
> to slap me in that direction.
I am looking at uiop/image.lisp and it looks like it should do what you
want out of the box. At the very bottom of the file I see a call to
REGISTER-IMAGE-RESTORE-HOOK, and one of the elements of that list is
setup-temporary-directory.
So it seems like either this call is not happening properly or there's a
bug in setup-temporary-directory. Is there any chance you could have
overwritten UIOP's restore hook?
Would it be possible for you to trace RESTORE-IMAGE and
SETUP-TEMPORARY-DIRECTORY to see what's happening? I confess to not
knowing whether TRACE will persist over image dumping....
Thanks,
r
More information about the asdf-devel
mailing list