Opened 10 years ago

Last modified 10 years ago

#149 new defect

Cannot load ASDF systems from *.asd definition in base of JAR hierarchy

Reported by: Mark Evenson Owned by: Mark Evenson
Priority: minor Milestone: unscheduled
Component: other Version: 0.24
Keywords: asdf url-pathname Cc:
Parent Tickets:

Description

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.

Change History (2)

comment:1 Changed 10 years ago by Mark Evenson

Milestone: 0.26unscheduled

comment:2 Changed 10 years ago by Mark Evenson

Version: 1.00.24
Note: See TracTickets for help on using tickets.