loading lisp files from inside the java jar

Pascal J. Bourguignon pjb at informatimago.com
Tue Aug 18 12:02:31 UTC 2015

>> On Aug 18, 2015, at 14:35 , Hamda Binte Ajmal <hamda.binte.ajmal at gmail.com> wrote:
>> To be more specific
>> The load statement looks like
>> (load "jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/aima/quicklisp/setup.lisp")
>> and the error thrown is
>> "Unhandled lisp condition: Can't ensure directory
>> #P"jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/./" 
>> ancestor of
>>  #P"jar:file:C:/Users/Administrator.NUIG-1Z7HN12/Documents/NetBeansProjects/Interface/dist/Profet.jar!/cache/asdf-fasls/07y1rt/asdf.abcl"."

At last!

So the problem you have here is that when loading setup.lisp it tries to compile asdf.lisp and to save the fasl file INSIDE the jar, as per the cache directory determined by setup.lisp.

IIRC, quicklisp respects the XDG Base Directory Specification to find out the cache directory where to save the fasl.  So one option could be to set the required XDG environment variables to direct it elsewhere than inside the jar.

  $ export XDG_CACHE_HOME=$HOME/.cache
  $ abcl

could help.

You might want to send a feature request to Xach (quicklisp) so that it would detect this situation and adjust to a more convenient behavior.

__Pascal J. Bourguignon__

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20150818/1414c381/attachment.html>

More information about the armedbear-devel mailing list