Dear all,
Here is my latest
README.org for the installation chapter for review.
As a note, my aim is to make the installation process as smooth as possible, bearing in mind the changes that CLS is likely to undergo.
So my approach is to separate out libraries already in quick lisp and just leave the CLS specific stuff within the repo.
This means we get down from 12 external dependancies to about 3 or 4. By external I mean other libraries present in the "external" directory - lisp-matrix being the major tenant there.
So the dependancies in external have gone from
fnv
data-table
lla
xarray
listoflist
lisp-matrix
rsm-string-cls
cl-blapack
lift
cldoc
ffa-lisp-matrix
array-operations-lisp-matrix
to
cl-blapack (in quicklisp, need to push)
data-table (in quick lisp, not moved as yet. dunno where used)
listoflist
lisp-matrix
rsm-string-cls (optional utility, cesarum or similar in ql already)
ffa-lispmatrix (also part of lisp-matrix I think)
array-operations-lisp-matrix (??)
cl-blapack is still there, bacuase of a slight mod I have made which means it just installs without requiring modification. I should push that to tony and then it wold end up being in quick lisp
array-operations-lispmatrix is purely part of lisp-matrix and does not in my opinion deserve to be a separate library
rsm-string is utility library and frankly should not be here, there are a bunch of equivalent things already in quick lisp i think so, in my mind, it should disappear in favour of one of them eventually.
my day job is in the java world where dependancy management is often a nightmare and i would like to make things as simple as possible in the future.
I actually think that using something like asdf-system-connections for optional or value add packages would be something to consider.
Having said that, here is the latest version of the install instruction
==========================
Fast Start
Common Lisp Stat is a very rich and mature framework for data
exploration and visualisation using statistics with the Common Lisp
Environment.
This design choice gives a number of advantages - both in the ability
to create fast running code, as well as being able to express complex
algorithms in a powerful and consistent language.
However, as with all large complex things, setup requires a few steps.
We assume that you have a lisp installed and that you have a passing
acquaintence with the unix shell.
1. The first point that you should note that is that these instructions
are written with the assumption of the availibility of quicklisp.
install it now
2. The second point to note is that you will need the "git" utility
installed on your machine.
for mac osx sudo port install git
for linux (eg debian) sudo apt-get install git
3. Once that is done execute the following shell commands
#+begin_src shell
cd ~/quicklisp/local-projects
cd common-list-stat
git submodules init
#+end_src
These commands copy the the source from the repository and all the
associated libraries. It will live as a quicklisp project in the
local-projects directory. I find it convenient to symbolically link the
quicklisp direct to ~/lisp for easy access
#+begin_src shell
ln ~/quicklisp/local-projects ~/lisp
#+end_src
4. Configure the locations of the BLAS and LINPACK libraries
For MacOS, we will use the pre installed libraries
For linux, make sure you have the neccessary libraries installed,
through apt, yum or otherwise viz
viz sudo apt-get install libblas, sudo apt-get install liblapack
5. For visualization we are currently implementing a gnuplot
interface, stay tuned.
For windows, we recommend you use cygwin to get straightforward
access. I'll document the steps if there is a demand.
6. You need to check that your dynamic library path has been properly
set up in the shell.
In your .bashrc (or equivalent shell init file)
For Mac OSX set DYLD_FALLBACK-LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/opt/local/lib
For Linux set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:????
If you get this wrong the load process will not be able to find the
libraries and will prompt you.
5. Once the pre prequisites have been done, start your favourite lisp
and enter
#+begin_src lisp
(ql:register-local-projects)
(ql:quickload :cls)
#+end_src lisp
Retire for a well earned coffee and upon your return you should find
the package completely installed.Obviously, potential errors can creep
in with spelling the filenames correctly, so be careful.