Bug 177576 - math/maxima fails to start with SBCL and quicklisp
Summary: math/maxima fails to start with SBCL and quicklisp
Status: Closed Unable to Reproduce
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Brendan Fabeny
Depends on:
Reported: 2013-04-02 09:40 UTC by cpghost
Modified: 2014-08-14 23:25 UTC (History)
1 user (show)

See Also:

file.diff (924 bytes, patch)
2013-04-02 09:40 UTC, cpghost
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description cpghost 2013-04-02 09:40:00 UTC
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)
    (load quicklisp-init)))

Then, make and install math/maxima port with SBCL as default lisp, and run as regular user.
Comment 1 Edwin Groothuis freebsd_committer 2013-04-02 09:40:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->bf

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 b. f. 2013-05-06 16:58:52 UTC
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.