math/maxima fails to start with SBCL when quicklisp is installed and enabled.
Because the maxima port is usually compiled as root but runs as a regular user, when it invokes SBCL with quicklisp enabled, it tries to access non-existent /root/.cache/common-lisp directory instead of $HOME/.cache/common-lisp of the invoking user. This causes SBCL to go into debugger-mode.
Fix: As explained in the following bug report of a Linux distribution:
we need to disable user-specific initializations, i.e. prevent ~/.sbclrc
from running when maxima is invoked.
To do this, apply the attached patch to the startup script.
Patch attached with submission follows:
How-To-Repeat: Just install quicklisp for SBCL, i.e. add this to your ~/.sbclrc via quicklisp's setup function:
;;; The following lines added by ql:add-to-init-file:
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(when (probe-file quicklisp-init)
Then, make and install math/maxima port with SBCL as default lisp, and run as regular user.
Over to maintainer (via the GNATS Auto Assign Tool)
I am not able to reproduce your problem with sbcl 1.1.7 on 10-CURRENT
amd64: for me, sbcl doesn't drop to debugger on startup with the given
userinit additions. So it seems that there are some missing details
in the description of the problem -- like why user-cache isn't being
set properly. In any event, I don't think that disabling all userinit
files by default is the proper fix, as this would prevent appropriate
use of such files.