From: Jimmy Miller
Subject: Clisp and ASDF on Windows
Date: 
Message-ID: <1c340de2-78e0-4e30-b04d-2de355b08507@n75g2000hsh.googlegroups.com>
Apparently, this is a common problem, but I've yet to find a solution
that works.  I'm trying to get ASDF running with Clisp 2.41 on Windows
XP.  I'm not concerned about using ASDF-install, I just want basic
ASDF loading capabilities.

I've followed the directions at http://cliki.net/asdf and I still
can't get it to work.  My .clisprc.init file is as follows:

(load #P"C:\\emacs\\clisp-2.41-win32-with-readline-and-gettext\
\clisp-2.41\\asdf.lisp")
(push #P"C:\\emacs\\asdf" asdf:*central-registry*)

I have several shortcuts in my C:\emacs\asdf directory that all point
to the various CFFI ASD files that I want to load.  However, when I
try to run ASDF like so:

(asdf:oos 'asdf:load-op 'cffi)

I get a message saying "component 'cffi' not found".

I've Googled for ways to set ASDF up, and I've gotten a lot of
conflicting solutions; some people say Windows-style shortcuts work,
some say they don't, etc.  If anyone could tell me how to get this
working properly, I'd appreciate it.

From: ···············@gmail.com
Subject: Re: Clisp and ASDF on Windows
Date: 
Message-ID: <f243112d-4772-44d9-bb32-a1b68407ef29@c19g2000prf.googlegroups.com>
On Mar 21, 5:31 pm, Jimmy Miller <··············@gmail.com> wrote:

> I've Googled for ways to set ASDF up, and I've gotten a lot of
> conflicting solutions; some people say Windows-style shortcuts work,
> some say they don't, etc.  If anyone could tell me how to get this
> working properly, I'd appreciate it.

On Windows I use the method listed on http://www.cliki.net/asdf under
the heading "Alternative Sysdef Search functionality". Although I
suspect this may start to grind a little with hundreds of libraries
installed, it works very well with the 20-30 I have on my Windows
machine.

In fact, I found it worked so well (and I'm so lazy) that I use this
technique on Linux too where I do most of my work.

HTH.

--
Phil
http://phil.nullable.eu/
From: Jimmy Miller
Subject: Re: Clisp and ASDF on Windows
Date: 
Message-ID: <ec8c9810-e2ff-4de4-9ca9-032998add0e6@t54g2000hsg.googlegroups.com>
On Mar 21, 12:46 pm, ···············@gmail.com wrote:
> On Mar 21, 5:31 pm, Jimmy Miller <··············@gmail.com> wrote:
>
> > I've Googled for ways to set ASDF up, and I've gotten a lot of
> > conflicting solutions; some people say Windows-style shortcuts work,
> > some say they don't, etc.  If anyone could tell me how to get this
> > working properly, I'd appreciate it.
>
> On Windows I use the method listed onhttp://www.cliki.net/asdfunder
> the heading "Alternative Sysdef Search functionality". Although I
> suspect this may start to grind a little with hundreds of libraries
> installed, it works very well with the 20-30 I have on my Windows
> machine.
>
> In fact, I found it worked so well (and I'm so lazy) that I use this
> technique on Linux too where I do most of my work.
>
> HTH.
>
> --
> Philhttp://phil.nullable.eu/

Thanks for the reply, but ASDF still gives me the same error message.
My .clisprc.init file is now as follows:

(load #P"C:\\emacs\\clisp-2.41-win32-with-readline-and-gettext\
\clisp-2.41\\asdf.lisp")
;; An alternative to the standard sysdef search can be defined.
This
;; code below can be dropped into your Lisp init files and
customized.
;; It will search for all ASDF systems in subdirectories of
the
;; specified directories.  That lets you simply "drop-in" new
packages
;; into one of the specified directories, and it will be available
for
;; loading without any further
steps.
(in-package #:asdf)
(defvar *subdir-search-registry* '(#p"C:\\emacs")
  "List of directories to search subdirectories within.")
(defvar *subdir-search-wildcard* :wild
  "Value of :wild means search only one level of subdirectories; value
of :wild-inferiors means search all levels of subdirectories (I don't
advise using this in big directories!)")
(defun sysdef-subdir-search (system)
  (let ((latter-path (make-pathname :name (coerce-name system)
                                    :directory (list :relative
                                                     *subdir-search-
wildcard*)
                                    :type "asd"
                                    :version :newest
                                    :case :local)))
    (dolist (d *subdir-search-registry*)
      (let* ((wild-path (merge-pathnames latter-path d))
             (files (directory wild-path)))
        (when files
          (return (first files)))))))
(pushnew 'sysdef-subdir-search *system-definition-search-functions*)

I noticed that ASDF takes more time in searching for the file, but it
still doesn't find it.  I have all the .asd files in a folder in the C:
\emacs directory, so that should only be one level down.  Any more
ideas?
From: ···············@gmail.com
Subject: Re: Clisp and ASDF on Windows
Date: 
Message-ID: <c1a5d1f1-3f18-4d98-a7e1-467ad3c81c0a@e10g2000prf.googlegroups.com>
On Mar 21, 6:02 pm, Jimmy Miller <··············@gmail.com> wrote:

[snip]

> (defvar *subdir-search-registry* '(#p"C:\\emacs")
>   "List of directories to search subdirectories within.")

[snip]

Try giving that pathname in *subdir-search-registry* a trailing
backslash '(#p"C:\\emacs\\"). That the only thing I can think of...

--
Phil
http://phil.nullable.eu/