On Tuesday 29 March 2005 23:23, Raymond Toy wrote:
> To get what you want, I think you need
>
> (merge-pathnames (make-pathname :host nil :name "foo" :type "lisp")
> #p"cl-library:zog;")
Hmm.
* (describe (make-pathname :host nil :name "libsleepycat" :type "so"))
#p"libsleepycat.so" is a structure of type PATHNAME.
HOST: #<LISP::UNIX-HOST>.
DEVICE: NIL.
DIRECTORY: NIL.
NAME: "libsleepycat".
TYPE: "so".
VERSION: NIL.
* (merge-pathnames
(make-pathname :host :unspecific :name "libsleepycat" :type "so")
;#p"libsleepycat.so"
(asdf:component-pathname (asdf:find-system 'elephant)))
Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
:UNSPECIFIC is not of type (OR BASE-STRING LISP::HOST NULL)
[Condition of type TYPE-ERROR]
Ugh.
* (make-pathname :name "libsleepycat" :type "so"
:defaults (asdf:component-pathname (asdf:find-system 'elephant)))
#.(logical-pathname "CL-LIBRARY:ELEPHANT;LIBSLEEPYCAT.SO")
Yay. Oh, but for some reason UFFI doesn't like that.
It doesn't like #p"cl-library:elephant;libsleepycat.so" either,
though. So:
(probe-file (make-pathname :name "libsleepycat" :type "so"
:defaults (asdf:component-pathname
(asdf:find-system 'elephant))))
... and it all works. Now, where did I put that chicken?
--
g