[armedbear-ticket] [armedbear] #149: Cannot load ASDF systems from *.asd definition in base of JAR hierarchy
armedbear
armedbear-devel at common-lisp.net
Thu May 12 12:19:53 UTC 2011
#149: Cannot load ASDF systems from *.asd definition in base of JAR hierarchy
-------------------------------+--------------------------------------------
Reporter: mevenson | Owner: mevenson
Type: defect | Status: new
Priority: minor | Milestone: 0.26
Component: other | Version: 1.0
Keywords: asdf url-pathname |
-------------------------------+--------------------------------------------
For an ASDF definition packaged in a JAR file in the topmost directory,
viz
{{{
mama:~/work/abcl/bugs$ jar tfv trivial.jar
76 Thu May 12 13:58:30 CEST 2011 trivial.asd
52 Thu May 12 13:58:52 CEST 2011 trivial.lisp
}}}
The ASDF definition cannot be properly loaded after placing
"jar:file:~/work/abcl/bugs/trivial.jar!/" in the ASDF:*CENTRAL-REGISTRY*.
One can see that something has gone wrong in the ASDF/MERGE-PATHNAMES with
URL-PATHNAMES as after the unsucessful load the following shows that ASDF
has thrown away the JAR-PATHNAME reference
{{{
CL-USER> (asdf:component-pathname (asdf:find-system :trivial))
#P"/Users/evenson/work/abcl/"
}}}
The workaround is simple: always package ASDF definition in at least one
top-level directory, viz:
{{{
mama:~/work/abcl/bugs$ jar tfv trivial.jar
0 Thu May 12 14:18:18 CEST 2011 META-INF/
60 Thu May 12 14:18:18 CEST 2011 META-INF/MANIFEST.MF
0 Thu May 12 13:58:52 CEST 2011 trivial/
76 Thu May 12 13:58:30 CEST 2011 trivial/trivial.asd
52 Thu May 12 13:58:52 CEST 2011 trivial/trivial.lisp
}}}
When I get a change, I'll go through the URL-PATHNAME code with ASDF to
understand where this is breaking.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/149>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
More information about the armedbear-ticket
mailing list