Skip to content

SBCL say "Package QL does not exist." #252

Closed
@harupiyo

Description

@harupiyo

Hello,

I try to setup 'clj' on roswell, but SBCL say "Package QL does not exist.".

It is SBCL on roswell, so it should not be that Quicklisp is not included.
I can also check by doing the following:

$ ros run
* (find-package :ql)
#<PACKAGE "QUICKLISP-CLIENT">

Is there anything I should do?

Report

Jupyter Console

$ jupyter-console --kernel=common-lisp

This is SBCL 2.1.9, 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.

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1001540103}>:
  Package QL does not exist.					<---- ERROR.

    Stream: #<dynamic-extent STRING-INPUT-STREAM (unavailable) from "(ql:quic...">

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Use the current package, COMMON-LISP-USER.
  1: [RETRY    ] Retry finding the package.
  2: [USE-VALUE] Specify a different package
  3: [UNINTERN ] Read the symbol as uninterned.
  4: [SYMBOL   ] Specify a symbol to return
  5:             Ignore runtime option --eval "(ql:quickload :common-lisp-jupyter)".
  6: [ABORT    ] Skip rest of --eval and --load options.
  7:             Skip to toplevel READ/EVAL/PRINT loop.
  8: [EXIT     ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::READER-FIND-PACKAGE "QL" #<SB-IMPL::STRING-INPUT-STREAM {7F89FE877993}> T)
0] 
* ^C				<---- The REPL cannot be used and can only be interrupted.

(Python3 on Jupyter Console can't run.)

I don't think it's related, about Python3, the Jupyter Console has an Issue #241
and doesn't work in Python3. (I don't think this is related because the error is different.)

$ jupyter-console 
Jupyter console 6.4.0

Python 3.8.10 (default, Sep 28 2021, 16:10:42) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.28.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: "hello"[Enter]/home/harupiyo/.local/lib/python3.8/site-packages/jupyter_console/ptshell.py:852: RuntimeWarning: coroutine 'ZMQSocketChannel.msg_ready' was never awaited
  while self.client.iopub_channel.msg_ready():
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Unhandled exception in event loop:
	(Backtrace)
	... >8  ...

Jupyter Lab

In Jupyter Lab, Python3 works correctly.
But the SBCL says

  1. "Package QL does not exist."
  2. SBCL then seems to reboot, repeating the same error and displaying a banner saying to restart SBCL.
  3. Eventually, the Kernel dies and the message "SBCL" -> "No Kernel" changes in Jupyter Lab, and SBCL will not restart any more.

For your reference, here is a video of the process.
https://youtu.be/UvlDT_UnHu0

My PC's Setup log:

  • Ubuntu 20.04 on VirtualBox (Clean Install)
$ sudo apt install -y gcc make perl

# roswell

$ sudo apt -y install git build-essential automake libcurl4-openssl-dev
$ git clone -b release https://github.com/roswell/roswell.git
$ cd roswell
$ sh bootstrap
$ ./configure
$ make
$ sudo make install
$ ros setup
$ cd ~/

# common-lisp-jupyter

$ sudo apt install -y libczmq-dev
$ mkdir ~/common-lisp

## ref: https://github.com/yitzchak/common-lisp-jupyter/blob/master/Dockerfile#L74

$ git clone https://github.com/yitzchak/common-lisp-jupyter ~/common-lisp/common-lisp-jupyter
$ git clone https://github.com/yitzchak/shash ~/common-lisp/shasht
$ git clone https://github.com/yitzchak/cytoscape-clj ~/common-lisp/cytoscape-clj
$ git clone https://github.com/yitzchak/resizable-box-clj ~/common-lisp/resizable-box-clj

## examples

$ mv ~/common-lisp/common-lisp-jupyter/examples ~/lab
$ mv ~/common-lisp/cytoscape-clj/examples ~/lab/cytoscape-clj
	
## Install 

$ ros run -- --non-interactive --eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :resizable-box-clj))" --eval "(clj:install :use-implementation t)"; 

# Jupyter Lab & Jupyter Console

$ sudo apt install -y python3-pip
$ pip install jupyterlab jupyter-console
$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
$ export PATH="$HOME/.local/bin:$PATH"

## Jupyter Lab Extensions

### node.js(v14) for jupyterlab-debugger-restarts

$ sudo apt install -y curl
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install -y nodejs

### ref: https://github.com/yitzchak/common-lisp-jupyter/blob/master/Dockerfile#L49

$ jupyter-labextension install @jupyter-widgets/jupyterlab-manager jupyterlab-edit-magic cytoscape-clj resizable-box-clj jupyterlab-debugger-restarts
$ jupyter-lab build

# Starting Jupyter Console

$ cd ~/lab
$ jupyter-console --kernel=common-lisp

This is SBCL 2.1.9, 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.

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1001540103}>:
  Package QL does not exist.										<---- ERROR.

    Stream: #<dynamic-extent STRING-INPUT-STREAM (unavailable) from "(ql:quic...">

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Use the current package, COMMON-LISP-USER.
  1: [RETRY    ] Retry finding the package.
  2: [USE-VALUE] Specify a different package
  3: [UNINTERN ] Read the symbol as uninterned.
  4: [SYMBOL   ] Specify a symbol to return
  5:             Ignore runtime option --eval "(ql:quickload :common-lisp-jupyter)".
  6: [ABORT    ] Skip rest of --eval and --load options.
  7:             Skip to toplevel READ/EVAL/PRINT loop.
  8: [EXIT     ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::READER-FIND-PACKAGE "QL" #<SB-IMPL::STRING-INPUT-STREAM {7F89FE877993}> T)
0] 
* ^C

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions