http://robert.zubek.net/blog/2008/04/09/sbcl-emacs-windows-vista/#comment-5 Copied here: Also, here are some notes for getting ASDF-install to work with SBCL and Windows. They weren't worth their own blog posting, really. It's tricky to get asdf-install to work in a Windows SBCL installation, due to a combination of reliance on Unix tools for archive processing, and some problems with inter-process communication on the Windows port of SBCL. This produces errors such as the following, when trying to run asdf-install: CL-USER> (asdf-install:install 's-xml-rpc) ... couldn't fork child process: No such file or directory [Condition of type SIMPLE-ERROR] ... Backtrace: 0: (RUN-PROGRAM "tar" ("-tzf" "c:\\Program Files\\emacs-22.2\\bin\\S-XML-RPC.asdf-install-tmp")) Here's a method to get this up and running. The following was done using SBCL 1.0.13 and a recent version of ASDF-Install, all running on a Windows Vista machine. I. The tools First, get a copy of ASDF-Install from the "asdf-install-unstable" repository: http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz SBCL comes with its own, older version – I just installed this new one right on top of the old one, in the sbcl/asdf-install directory. Second, you'll need Cygwin, for the bash and tar programs from Unix. Plus, it's a very cool toolset. http://www.cygwin.com II. The kluges Now time for some diffs. First of all, in asdf-install/variables.lisp, customize the paths to match your Cygwin install. In particular, the following: (changed lines in boldface) #+(or :win32 :mswindows) (defvar *cygwin-bin-directory* (pathname "C:\\Cygwin\\bin\\")) ;; CHANGED #+(or :win32 :mswindows) (defvar *cygwin-bash-program* "C:\\Cygwin\\bin\\bash.exe") ;; CHANGED Second, in asdf-install/installer.lisp, in the function tar-arguments, we get rid of extra backslashes and double quotes: (defun tar-arguments (...) ... #+(or :win32 :mswindows) (list "-l" "-c" (format nil "tar -C `cygpath `~A'` -xzvf `cygpath `~A'`" ;; CHANGED (namestring (truename source)) (namestring (truename packagename)))) Finally, a change in asdf-install/port.lisp: the function return-output-from-program has got to lose its output redirection, because it confuses Win32 SBCL. (In effect, it will no longer return any output from program, but be that as it may. ) The new version looks like: (defun return-output-from-program (program args) (with-output-to-string (out-stream) (let ((proc (sb-ext:run-program program args :search t :wait t))) (when (or (null proc) (and (member (sb-ext:process-status proc) '(:exited :signaled)) (not (zerop (sb-ext:process-exit-code proc))))) (return-from return-output-from-program nil))))) 3. The results. Now everything should be ready to run. CL-USER> (require 'asdf-install) CL-USER> (asdf-install:install 's-xml-rpc) A few additional notes: 1. At the "Install where?" prompt, it's easiest to install to the local directory. System-wide install will fail because of Vista user-access control, unless you're running your Lisp session as root. 2. GPG verification isn't supported on Win32 SBCL, and would require more kluging. 3. ASDF by itself expects all definition files to be linked manually to the repository directory. For a quick script to automate that, see this page: http://www.cliki.net/asdf – under the Alternative Sysdef Search functionality heading.