[asdf-devel] clx-0-7-4 fails to compile if the system pathname is logical
james anderson
james.anderson at setf.de
Fri Mar 5 23:47:56 UTC 2010
if the system pathname is logical, the component for the file
"shape.lisp" fails to locate the intended file.
* (asdf:operate 'asdf:load-op :de.setf.graphics.clx)
...
; loading system definition from
; /Development/Source/dev/Library/de/setf/graphics/clx/clx.asd into
...
;; loading #P"/Users/janson/.cache/common-lisp/sbcl-1.0.35-darwin-
ppc32/Development/Source/dev/Library/bin/sbcl-osx/edu/mit/clx/
clx-0-7-4/resource.fasl"
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR:
failed to find the TRUENAME of /edu/mit/clx/clx-0-7-4/shape.lisp:
No such file or directory
the problem occurs because the respective module, "extensions",
specifies a relative pathname with the directory component
(:relative) but no host.
the consequence is that the source file's relative pathname is an
absolute pathname relative to "/" rather than relative to the logical
base.
the system:
8] (describe *s*)
#<ASDF:SYSTEM "clx" {11D57A31}>
[standard-object]
Slots with :INSTANCE allocation:
NAME = "clx"
VERSION = "0.7.2"
IN-ORDER-TO = ((ASDF:LOAD-OP (ASDF:LOAD-OP CLX-
SYSTEM::SB-BSD-SOCKETS))..
DO-FIRST = ((ASDF:COMPILE-OP (ASDF:LOAD-OP CLX-
SYSTEM::SB-BSD-SOCKETS)))
INLINE-METHODS = NIL
PARENT = NIL
RELATIVE-PATHNAME = #P"LIBRARY:EDU;MIT;CLX;CLX-0-7-4;"
OPERATION-TIMES = #<HASH-TABLE :TEST EQL :COUNT 0
{11E8C2F1}>
PROPERTIES = ((ASDF:SYSTEM-NICKNAMES
"edu.mit.clx.clx"))
COMPONENTS = (#<CLX-SYSTEM::CLX-SOURCE-FILE
"package" {120E8811}>..
IF-COMPONENT-DEP-FAILS = :FAIL
DEFAULT-COMPONENT-CLASS = CLX-SYSTEM::CLX-SOURCE-FILE
DESCRIPTION = #<unbound slot>
LONG-DESCRIPTION = #<unbound slot>
AUTHOR = #<unbound slot>
MAINTAINER = #<unbound slot>
LICENCE = #<unbound slot>
SOURCE-FILE = #P"/Development/Source/dev/Library/edu/
mit/clx/clx-0-7-4/clx.asd"
the module:
8] (describe *p*)
#<ASDF:MODULE "extensions" {11E29EA9}>
[standard-object]
Slots with :INSTANCE allocation:
NAME = "extensions"
VERSION = #<unbound slot>
IN-ORDER-TO = ((ASDF:LOAD-OP..
DO-FIRST = ((ASDF:COMPILE-OP..
INLINE-METHODS = NIL
PARENT = #<ASDF:SYSTEM "clx" {11D57A31}>
RELATIVE-PATHNAME = #P""
OPERATION-TIMES = #<HASH-TABLE :TEST EQL :COUNT 0
{120E8AE1}>
PROPERTIES = NIL
COMPONENTS = (#<CLX-SYSTEM::CLX-SOURCE-FILE
"shape" {123FA861}>..
IF-COMPONENT-DEP-FAILS = :FAIL
DEFAULT-COMPONENT-CLASS = CLX-SYSTEM::CLX-SOURCE-FILE
8] (describe (asdf:component-relative-pathname *p*))
#P""
[structure-object]
Slots with :INSTANCE allocation:
HOST = #<SB-IMPL::UNIX-HOST {102CE661}>
DEVICE = NIL
DIRECTORY = (:RELATIVE)
NAME = NIL
TYPE = NIL
VERSION = NIL
the file component
8] (describe *c*)
#<CLX-SYSTEM::CLX-SOURCE-FILE "shape" {123FA861}>
[standard-object]
Slots with :INSTANCE allocation:
NAME = "shape"
VERSION = #<unbound slot>
IN-ORDER-TO = NIL
DO-FIRST = ((ASDF:COMPILE-OP (ASDF:LOAD-OP)))
INLINE-METHODS = NIL
PARENT = #<ASDF:MODULE "extensions" {11E29EA9}>
RELATIVE-PATHNAME = NIL
OPERATION-TIMES = #<HASH-TABLE :TEST EQL :COUNT 0 {126394B9}>
PROPERTIES = NIL
8] (describe (asdf:component-pathname *c*))
#P"/edu/mit/clx/clx-0-7-4/shape.lisp"
[structure-object]
Slots with :INSTANCE allocation:
HOST = #<SB-IMPL::UNIX-HOST {102CE661}>
DEVICE = :UNSPECIFIC
DIRECTORY = (:ABSOLUTE "edu" "mit" "clx" "clx-0-7-4")
NAME = "shape"
TYPE = "lisp"
VERSION = :NEWEST
the excerpt from the system definition:
(:module extensions
:pathname #.(make-pathname :directory '(:relative))
:components
((:file "shape")
(:file "big-requests")
(:file "xvidmode")
(:xrender-source-file "xrender")
(:file "glx")
(:file "gl" :depends-on ("glx"))
(:file "dpms")
(:file "xtest")
(:file "screensaver")
(:file "xinerama")))
More information about the asdf-devel
mailing list