Discussion:
Complaints about trying to require SB-INTROSPECT when loading with a core file
Rupert Swarbrick
2008-02-23 11:51:47 UTC
Permalink
Hi,

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:

***@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
Rupert Swarbrick
2008-02-23 12:02:17 UTC
Permalink
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:

***@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.
;; *
Nikodemus Siivola
2008-02-23 12:48:26 UTC
Permalink
Post by Rupert Swarbrick
(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
Post by Rupert Swarbrick
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
Rupert Swarbrick
2008-02-24 00:04:36 UTC
Permalink
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

Loading...