<div dir="ltr">The only reason I installed quicklisp was that I needed to use cl-ppcre package.<div>This is the post I posted about months ago when I started with my application development</div><div><a href="http://stackoverflow.com/questions/28172357/run-an-abcl-code-that-uses-cl-cppre">http://stackoverflow.com/questions/28172357/run-an-abcl-code-that-uses-cl-cppre</a><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 18, 2015 at 1:21 PM, Zach Beane <span dir="ltr"><<a href="mailto:xach@xach.com" target="_blank">xach@xach.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">"Pascal J. Bourguignon" <<a href="mailto:pjb@informatimago.com">pjb@informatimago.com</a>> writes:<br>
<br>
>>> On Aug 18, 2015, at 14:35 , Hamda Binte Ajmal <<a href="mailto:hamda.binte.ajmal@gmail.com">hamda.binte.ajmal@gmail.com</a>> wrote:<br>
>>><br>
>>> To be more specific<br>
>>><br>
>>> The load statement looks like<br>
>>> (load "jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/aima/quicklisp/setup.lisp")<br>
>>><br>
>>> and the error thrown is<br>
>>><br>
>>> "Unhandled lisp condition: Can't ensure directory<br>
>>> #P"jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/./"<br>
>>> ancestor of<br>
>>>  #P"jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/cache/asdf-fasls/07y1rt/asdf.abcl"."<br>
><br>
> At last!<br>
><br>
><br>
> So the problem you have here is that when loading setup.lisp it tries<br>
> to compile asdf.lisp and to save the fasl file INSIDE the jar, as per<br>
> the cache directory determined by setup.lisp.<br>
><br>
> IIRC, quicklisp respects the XDG Base Directory Specification to find<br>
> out the cache directory where to save the fasl.  So one option could<br>
> be to set the required XDG environment variables to direct it<br>
> elsewhere than inside the jar.<br>
><br>
>   $ export XDG_CACHE_HOME=$HOME/.cache<br>
>   $ abcl<br>
><br>
> could help.<br>
><br>
> You might want to send a feature request to Xach (quicklisp) so that<br>
> it would detect this situation and adjust to a more convenient<br>
> behavior.<br>
<br>
</span>Quicklisp does not look at XDG environment variables. The intent is that<br>
if no sufficiently-new ASDF is already loaded, it will try to compile to<br>
a fasl file in ~/quicklisp/cache/asdf-fasls/<hash>/.<br>
<br>
I was going to suggest loading a sufficiently new ASDF before trying to<br>
load the quicklisp/setup.lisp file.<br>
<br>
However, now that I look at the Quicklisp setup code, I see that it<br>
*unconditionally* does (ensure-directories-exist ...) on the asdf fasl<br>
cache directory, even though it should only be done if Quicklisp needs<br>
to compile its own ASDF.<br>
<br>
I think one option is to preload the asdf-fasl cache and put that in the<br>
jar.<br>
<br>
I'll open a Quicklisp issue for the unconditional fasl cache directory<br>
creation problem and try to fix it soon.<br>
<span class="HOEnZb"><font color="#888888"><br>
Zach<br>
<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Hamda Binte Ajmal<br>+92 344 550 7680<br></div>
</div>