Page 1 of 1

QL in SBCL

Posted: Sun Aug 07, 2011 2:17 am
by Indecipherable
I am running sbcl 1.0.40 on Windows and I'm trying to install Quicklisp. I have it already since I'm using Clisp also, so I copied the QL directory into the SBCL home directory. Now I'm trying to set it up, but I keep getting errors:

Code: Select all

0[2] (load "quicklisp.lisp")

debugger invoked on a SB-INT:EXTENSION-FAILURE in thread #<THREAD
                                                           "initial thread" RUNNING
                                                           {23DCEB69}>:
  Don't know how to REQUIRE SB-BSD-SOCKETS.
See also:
  The SBCL Manual, Variable SB-EXT:*MODULE-PROVIDER-FUNCTIONS*
  The SBCL Manual, Function REQUIRE

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Reduce debugger level (to debug level 2).
  1:         Reduce debugger level (to debug level 1).
  2:         Exit debugger, returning to top level.

(SB-IMPL::REQUIRE-ERROR "Don't know how to ~S ~A.")[:EXTERNAL]
0[3] top
* (load "asdf.lisp")
; in: LAMBDA NIL
;     (ASDF::PARSE-WINDOWS-SHORTCUT ASDF::SHORTCUT)
; 
; caught STYLE-WARNING:
;   undefined function: PARSE-WINDOWS-SHORTCUT
; 
; compilation unit finished
;   Undefined function:
;     PARSE-WINDOWS-SHORTCUT
;   caught 1 STYLE-WARNING condition

T
* (load "setup.lisp")
; file: C:\Program Files\Steel Bank Common Lisp\1.0.40\quicklisp\quicklisp\impl.lisp
; in: DEFINE-IMPLEMENTATION-PACKAGE :SBCL
;     (REQUIRE 'QL-IMPL::SB-POSIX)
; 
; caught ERROR:
;   (during compile-time-too processing)
;   Don't know how to REQUIRE SB-POSIX.
;   See also:
;     The SBCL Manual, Variable SB-EXT:*MODULE-PROVIDER-FUNCTIONS*
;     The SBCL Manual, Function REQUIRE

;     (REQUIRE 'QL-IMPL::SB-BSD-SOCKETS)
; 
; caught ERROR:
;   (during compile-time-too processing)
;   Don't know how to REQUIRE SB-BSD-SOCKETS.
;   See also:
;     The SBCL Manual, Variable SB-EXT:*MODULE-PROVIDER-FUNCTIONS*
;     The SBCL Manual, Function REQUIRE

;     (QL-IMPL::DEFINE-IMPLEMENTATION-PACKAGE :SBCL #:QL-SBCL (:CLASS QL-IMPL:SBCL)
;                                             (:DOCUMENTATION
;                                              "Steel Bank Common Lisp - http://www.sbcl.org/")
;                                             (:PREP (REQUIRE 'QL-IMPL::SB-POSIX)
;                                              (REQUIRE 'QL-IMPL::SB-BSD-SOCKETS))
;                                             (:INTERN #:HOST-NETWORK-ADDRESS)
;                                             (:REEXPORT-FROM #:SB-POSIX #:RMDIR)
;                                             (:REEXPORT-FROM #:SB-EXT
;                                              #:COMPILER-NOTE #:NATIVE-NAMESTRING)
;                                             (:REEXPORT-FROM #:SB-BSD-SOCKETS
;                                              #:GET-HOST-BY-NAME #:INET-SOCKET
;                                              #:HOST-ENT-ADDRESS #:SOCKET-CONNECT
;                                              #:SOCKET-MAKE-STREAM))
; --> PROGN DEFPACKAGE EVAL-WHEN 
; ==>
;   (SB-IMPL::%DEFPACKAGE "QL-SBCL" 'NIL 'NIL 'NIL 'NIL 'NIL
;                         '(("SB-POSIX" "RMDIR")
;                           ("SB-EXT" "COMPILER-NOTE" "NATIVE-NAMESTRING")
;                           ("SB-BSD-SOCKETS" "GET-HOST-BY-NAME" "INET-SOCKET"
;                            "HOST-ENT-ADDRESS" "SOCKET-CONNECT"
;                            "SOCKET-MAKE-STREAM"))
;                         '("HOST-NETWORK-ADDRESS")
;                         '("GET-HOST-BY-NAME" "INET-SOCKET" "HOST-ENT-ADDRESS"
;                           "SOCKET-CONNECT" "SOCKET-MAKE-STREAM" "COMPILER-NOTE"
;                           "NATIVE-NAMESTRING" "RMDIR" "LISP")
;                         '("QL-SBCL") 'NIL ...)
; 
; caught ERROR:
;   (during compile-time-too processing)
;   The name "SB-POSIX" does not designate any package.
WARNING:
   COMPILE-FILE warned while performing #<COMPILE-OP (:VERBOSE NIL) {23EE4C31}>
   on #<CL-SOURCE-FILE "quicklisp" "impl">.

debugger invoked on a ASDF:COMPILE-FAILED in thread #<THREAD
                                                      "initial thread" RUNNING
                                                      {23DCEB69}>:
  Error while invoking #<COMPILE-OP (:VERBOSE NIL) {23EE4C31}> on
  #<CL-SOURCE-FILE "quicklisp" "impl">

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [TRY-RECOMPILING] Try recompiling impl
  1: [RETRY          ] Retry compiling component ("quicklisp" "impl").
  2: [ACCEPT         ] Continue, treating
                       compiling component ("quicklisp" "impl") as having been
                       successful.
  3: [ABORT          ] Exit debugger, returning to top level.

((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
 #<unavailable argument>
 #<unavailable argument>
 #<ASDF:COMPILE-OP (:VERBOSE NIL) {23EE4C31}>
 #<ASDF:CL-SOURCE-FILE "quicklisp" "impl">)
I have no idea what is happening. Also seems like there's supposed to be a package called sb-posix or something like that.
Thanks

Re: QL in SBCL

Posted: Sun Aug 07, 2011 2:49 am
by ramarren
Indecipherable wrote:I am running sbcl 1.0.40 on Windows
Being unable to load the networking module is not a Quicklisp problem, and probably indicates a problem with your installation. I have just tested newest release on Windows and quicklisp installs fine. I recommend reinstalling SBCL, preferably the current release, which seems to be 1.0.50.
Indecipherable wrote:I copied the QL directory into the SBCL home directory
I am fairly certain that Quicklisp contains absolute paths as part of its installation and should be really installed once somewhere in user home folder structure for all implementations.

Re: QL in SBCL

Posted: Sun Aug 07, 2011 4:58 am
by Duke
I also installed QL on Linux without any fiddling, but I've had the sb-bsd-sockets problem before. Not exactly sure how I fixed it, but you'll find sb-bsd-sockets in SBCL's /contrib directory. If updating and reinstalling doesn't work, installing sb-bsd-sockets is a reasonable plan B, I think.

Re: QL in SBCL

Posted: Sun Aug 07, 2011 11:04 am
by Indecipherable
I updated both SBCL and QL. Still getting the same problem, and I have the sb-bsd-sockets & posix directories preloaded.
Strange, maybe I am doing something wrong? After 10 releases I'm positive that the SBCL team must have nailed down the error. :(

Re: QL in SBCL

Posted: Sun Aug 07, 2011 11:36 am
by ramarren
You might have something problematic in your initialization files. Make sure that the file you believe are loaded are actually used by executing (funcall sb-ext:*userinit-pathname-function*) and (funcall sb-ext:*sysinit-pathname-function*). I believe certain older ASDF configurations, which are unneeded since Quicklisp provides its own ASDF and configures it, could break loading of contribs with current versions.

Re: QL in SBCL

Posted: Sun Aug 07, 2011 12:52 pm
by Indecipherable
* (funcall sb-ext:*userinit-pathname-function*)

#P"C:/Users/user/.sbclrc"
* (funcall sb-ext:*sysinit-pathname-function*)

#P"C:/ProgramData/sbcl/sbclrc"

Re: QL in SBCL

Posted: Sun Aug 07, 2011 1:54 pm
by ramarren
But what is in those files, if they exist?

Re: QL in SBCL

Posted: Sun Aug 07, 2011 2:11 pm
by Indecipherable
Seems like the files don't even exist.

Re: QL in SBCL

Posted: Mon Aug 08, 2011 12:24 pm
by smithzv
Hmm... I will say that I had to explicitly REQUIRE the :SB-POSIX library in order to get Quicklisp running with 1.0.40 (which I'm running now as it happens to be the version that Ubuntu has in its repositories). If you want to give that a try, make a text file at C:/Users/user/.sbclrc and add the line...

Code: Select all

(require :sb-posix)
That is how I am currently running things and it works fine for me. Posix is standard for a set of common tools that should be available on any Unix like platform and SB-POSIX is an interface to these tools. It is a bit odd to me that it is necessary on Windows, but it may be.

Now, it was pointed out before, but it should be said again, you should not be copying the Quicklisp directory anywhere under normal usage. The Quicklisp directory is supposed to be located in the same place for every Lisp implementation you have on your system. It will take care of the rest including keeping various builds of Lisp systems in different/non-conflicting sub-directories. Since the entire point of Quicklisp is going zero to 60 in one QUICKLOAD command, you might also try deleting your "quicklisp" directory and see if reinstalling Quicklisp helps.

Re: QL in SBCL

Posted: Tue Aug 09, 2011 12:18 pm
by Indecipherable
smithzv wrote:Hmm... I will say that I had to explicitly REQUIRE the :SB-POSIX library in order to get Quicklisp running with 1.0.40 (which I'm running now as it happens to be the version that Ubuntu has in its repositories). If you want to give that a try, make a text file at C:/Users/user/.sbclrc and add the line...

Code: Select all

(require :sb-posix)
That is how I am currently running things and it works fine for me. Posix is standard for a set of common tools that should be available on any Unix like platform and SB-POSIX is an interface to these tools. It is a bit odd to me that it is necessary on Windows, but it may be.
Thanks! I required sb-posix and sb-bsd-sockets, and now it seems to work normally. :D