Hi,
Reasonably certain that the previous email was disliked by listserv, presumably due to gpg/mime and an attached log file. So I'm sending again, with the logfile written below and no signature!
I'm trying to work on a lisp app (maxima) which "make"s to a core file. My usual model being to compile a recent version of CVS, load slime with said core file and then C-M-x changes I make.
However for some reason after switching to a new computer (the old one quite literally fell apart!), I'm unable to load the relevant core file. My incantation is
(setq slime-lisp-implementations '((sbcl ("sbcl") :coding-system utf-8-unix)
(maxima ("sbcl" "--core" "/home/rupert/src/maxima/src/binary-sbcl/maxima.core"))))
(yes, it is pointing in the right place) and I am able to load the program from the command line with lisp --core <corefile>. However, trying C-- M-x slime gives the output which I've (hopefully) attached. Does anyone know what I might be doing wrong? Specifically, sbcl seems to be failing to require sb-introspect, but:
rupert@hake:~ sbcl This is SBCL 1.0.14.debian, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * (require 'sb-introspect)
("SB-INTROSPECT") *
So I presume that it's something a bit more subtle!
Rupert
################# The log from *inferior-lisp*
(progn (load "/home/rupert/scripts/elisp/other-libraries/slime/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.27858" :coding-system "iso-latin-1-unix"))
This is SBCL 1.0.14.debian, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * ; loading #P"/home/rupert/scripts/elisp/other-libraries/slime/swank-loader.lisp"
; compiling file "/home/rupert/scripts/elisp/other-libraries/slime/swank-backend.lisp" (written 22 FEB 2008 12:20:33 AM):
; /home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-backend.fasl written ; compilation finished in 0:00:00 ; loading #P"/home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-backend.fasl" WARNING: SWANK-BACKEND also exports the following symbols: (SWANK-BACKEND:SLDB-BREAK-AT-START SWANK-BACKEND:CLOSE-SOCKET SWANK-BACKEND:PROFILE-RESET SWANK-BACKEND:SWANK-COMPILE-FILE SWANK-BACKEND:COMPILER-MACROEXPAND-1 SWANK-BACKEND:INSTALL-DEBUGGER-GLOBALLY SWANK-BACKEND:ARGLIST SWANK-BACKEND:DESCRIBE-SYMBOL-FOR-EMACS SWANK-BACKEND:FRAME-CATCH-TAGS SWANK-BACKEND:DISASSEMBLE-FRAME SWANK-BACKEND:SET-DEFAULT-DIRECTORY SWANK-BACKEND:PRINT-FRAME SWANK-BACKEND:FIND-DEFINITIONS SWANK-BACKEND:TOGGLE-TRACE SWANK-BACKEND:GETPID SWANK-BACKEND:SPAWN SWANK-BACKEND:DESCRIBE-PRIMITIVE-TYPE SWANK-BACKEND:COMPUTE-BACKTRACE SWANK-BACKEND:CALL-WITHOUT-INTERRUPTS SWANK-BACKEND:SEND SWANK-BACKEND:CALLS-WHO SWANK-BACKEND:THREAD-STATUS SWANK-BACKEND:WHO-SETS SWANK-BACKEND:MAKE-LOCK SWANK-BACKEND:INTERRUPT-THREAD SWANK-BACKEND:LISP-IMPLEMENTATION-TYPE-NAME SWANK-BACKEND:SLDB-STEP-OUT SWANK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT SWANK-BACKEND:MAKE-WEAK-VALUE-HASH-TABLE SWANK-BACKEND:FRAME-SOURCE-LOCATION-FOR-EMACS SWANK-BACKEND:COMPUTE-SANE-RESTARTS SWANK-BACKEND:LOCAL-PORT SWANK-BACKEND:CREATE-SOCKET SWANK-BACKEND:FRAME-VAR-VALUE SWANK-BACKEND:ACCEPT-CONNECTION SWANK-BACKEND:WHO-BINDS SWANK-BACKEND:FUNCTION-NAME SWANK-BACKEND:DEFAULT-READTABLE-ALIST SWANK-BACKEND:SLDB-STEP-NEXT SWANK-BACKEND:GUESS-EXTERNAL-FORMAT SWANK-BACKEND:WHO-MACROEXPANDS SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK SWANK-BACKEND:ACTIVATE-STEPPING SWANK-BACKEND:UNPROFILE-ALL SWANK-BACKEND:FIND-THREAD SWANK-BACKEND:FRAME-LOCALS SWANK-BACKEND:SET-STREAM-TIMEOUT SWANK-BACKEND:LIST-CALLERS SWANK-BACKEND:CURRENT-THREAD SWANK-BACKEND:MACROEXPAND-ALL SWANK-BACKEND:SLDB-STEPPER-CONDITION-P SWANK-BACKEND:KILL-THREAD SWANK-BACKEND:CONDITION-EXTRAS SWANK-BACKEND:UNPROFILE SWANK-BACKEND:RESTART-FRAME SWANK-BACKEND:SLDB-STEP-INTO SWANK-BACKEND:THREAD-ID SWANK-BACKEND:MAKE-FN-STREAMS SWANK-BACKEND:CALL-WITH-COMPILATION-HOOKS SWANK-BACKEND:WHO-CALLS SWANK-BACKEND:COMPILER-MACROEXPAND SWANK-BACKEND:WHO-SPECIALIZES SWANK-BACKEND:ADD-SIGIO-HANDLER SWANK-BACKEND:WHO-REFERENCES SWANK-BACKEND:ALL-THREADS SWANK-BACKEND:MAKE-RECURSIVE-LOCK SWANK-BACKEND:CALL-WITH-LOCK-HELD SWANK-BACKEND:PROFILE-REPORT SWANK-BACKEND:CHARACTER-COMPLETION-SET SWANK-BACKEND:HASH-TABLE-WEAKNESS SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS SWANK-BACKEND:EMACS-CONNECTED SWANK-BACKEND:THREAD-ALIVE-P SWANK-BACKEND:CALL-WITH-RECURSIVE-LOCK-HELD SWANK-BACKEND:REMOVE-FD-HANDLERS SWANK-BACKEND:DESCRIBE-DEFINITION SWANK-BACKEND:DEFAULT-DIRECTORY SWANK-BACKEND:SWANK-COMPILE-STRING SWANK-BACKEND:PROFILED-FUNCTIONS SWANK-BACKEND:MAKE-STREAM-INTERACTIVE SWANK-BACKEND:THREAD-NAME SWANK-BACKEND:ADD-FD-HANDLER SWANK-BACKEND:MAKE-WEAK-KEY-HASH-TABLE SWANK-BACKEND:LIST-CALLEES SWANK-BACKEND:EVAL-IN-FRAME SWANK-BACKEND:BUFFER-FIRST-CHANGE SWANK-BACKEND:PREFERRED-COMMUNICATION-STYLE SWANK-BACKEND:FORMAT-SLDB-CONDITION SWANK-BACKEND:RETURN-FROM-FRAME SWANK-BACKEND:PROFILE SWANK-BACKEND:INITIALIZE-MULTIPROCESSING SWANK-BACKEND:RECEIVE SWANK-BACKEND:PROFILE-PACKAGE SWANK-BACKEND:FIND-EXTERNAL-FORMAT SWANK-BACKEND:REMOVE-SIGIO-HANDLERS SWANK-BACKEND:SLDB-BREAK-ON-RETURN) See also: The ANSI Standard, Macro DEFPACKAGE ; compiling file "/home/rupert/scripts/elisp/other-libraries/slime/swank-source-path-parser.lisp" (written 22 FEB 2008 12:20:33 AM):
; /home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-source-path-parser.fasl written ; compilation finished in 0:00:00 ; loading #P"/home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-source-path-parser.fasl" ; compiling file "/home/rupert/scripts/elisp/other-libraries/slime/swank-source-file-cache.lisp" (written 22 FEB 2008 12:20:33 AM):
; /home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-source-file-cache.fasl written ; compilation finished in 0:00:00 ; loading #P"/home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-source-file-cache.fasl" ; compiling file "/home/rupert/scripts/elisp/other-libraries/slime/swank-sbcl.lisp" (written 22 FEB 2008 12:20:33 AM): ; ; compilation unit aborted ; caught 1 fatal ERROR condition
; /home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-sbcl.fasl written ; compilation finished in 0:00:00 ;; ;; Error while loading: /home/rupert/.slime/fasl/2008-02-22/sbcl-1.0.14.debian-linux-x86/swank-sbcl.fasl ;; Condition: Don't know how to REQUIRE SB-INTROSPECT. ;; See also: ;; The SBCL Manual, Variable *MODULE-PROVIDER-FUNCTIONS* ;; The SBCL Manual, Function REQUIRE ;; Aborting. ;; *
On 2/23/08, Rupert Swarbrick rswarbrick@googlemail.com wrote:
(maxima ("sbcl" "--core" "/home/rupert/src/maxima/src/binary-sbcl/maxima.core"))))
The problem is almost certainly with SBCL_HOME: if the environment variable is not set, SBCL defaults to the location of the core -- which is wrong with your custom core. You need to either set if to where-ever Debian installs the core and contribs by default.
You can find this out by calling (getenv "SBCL_HOME") after starting SBCL in the terminal:
unset SBCL_HOME sbcl --no-userinit
This is SBCL 1.0.14.39.hax, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * (posix-getenv "SBCL_HOME")
"/usr/local/lib/sbcl"
(Yours is something else, probably.)
Cheers,
-- Nikodemus
Thank you very very much! I'm sorry I didn't realise this wasn't specifically a slime problem - I assumed because it didn't happen from the terminal it had to be specific to slime.
Really really bizarrely, I had clearly fixed this problem in the past, since my .bashrc has a line exporting SBCL_HOME, but for some reason it doesn't get as far as emacs. This is why it was working from the command line. Anyway, (setenv) from emacs makes it work, so the rest is just cleaning up and not your problem.
Thanks again for the help!
Rupert