melisgl / mgl

Common Lisp machine learning library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MGL-GNUPLOT not being automatically loaded

lukego opened this issue · comments

I see this error when loading MGL:

Error finding package for symbol "DATA*":
 The name "MGL-GNUPLOT" does not designate any package.
   [Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]

A workaround is to manually evaluate mgl-gnuplot.asd and run (require :mgl-gnuplot) first.

I'm not seeing that. Also, MGL-GNUPLOT is a dependency of MGL, so if MGL-GNUPLOT is not found, then loading MGL should fail.

On the one hand it's correct for MGL to fail to load when MGL-GNUPLOT is not found. On the other hand it's in the same repository so mustn't there be an issue with the ASDF files if it isn't being found? I linked MGL into ~/quicklisp/local-projects/ but this doesn't seem to be sufficient for ASDF to find the mgl-gnuplot.asd file.

After making that link, I believe you need to call ql:register-local-projects.

This must be some kind of local issue on my machine. I tried to make a stand-alone test case but there the problem does not reproduce (works fine.) Here that is for posterity.

#!/usr/bin/env bash
set -e

# Install Quicklisp to a temp home directory
cd $(mktemp -d)
export HOME=$(pwd)
curl -o quicklisp.lisp https://beta.quicklisp.org/quicklisp.lisp
sbcl --no-userinit --no-sysinit --load quicklisp.lisp \
     --eval '(quicklisp-quickstart:install)' --eval '(quit)'

(cd quicklisp/local-projects &&
     git clone https://github.com/melisgl/mgl &&
     git clone https://github.com/melisgl/mgl-mat &&
     git clone https://github.com/takagi/cl-cuda)

tee test.lisp <<EOF
(load "quicklisp/setup.lisp")
(ql:register-local-projects)
(ql:quickload :mgl)
(quit)
EOF

HOME=$(pwd) sbcl --no-userinit --no-sysinit --load test.lisp

I suspect that I was using REQUIRE where I should have been using QL:QUICKLOAD or something. I don't have the "good at Lisp package management" gene...