Installation » History » Version 9
Version 8 (Jeremy Gow, 2012-10-03 12:06 PM) → Version 9/85 (Jeremy Gow, 2012-10-03 12:12 PM)
h1. Installing IDyOM
h2. Prerequisites
* "Steel Bank Common Lisp [SBCL]":http://www.sbcl.org/platform-table.html
* "Quicklisp":http://www.quicklisp.org/beta/ is a library manager for Common Lisp. Just download "<code>quicklisp.lisp</code>":http://beta.quicklisp.org/quicklisp.lisp
* An SQL database. I would recommend "SQLite":http://www.sqlite.org/
Many people find "Emacs":http://www.gnu.org/software/emacs/ with "Slime":http://common-lisp.net/project/slime/ useful for Common Lisp development. Package management systems can simplify the installation of these prerequisites, e.g. "Fink":http://www.finkproject.org/ or "Macports":http://www.macports.org/ for OS X.
See the "CLSQL Manual":http://clsql.b9.com/manual/ for information on other database systems you can use and how to access them from Common Lisp. If you prefer not to use Quicklisp, you will need to install the following Lisp libraries: "UFFI":http://uffi.bi.com, "CLSQL":http://clsql.b9.com, "CL-PPCRE":http://www.weitz.de/cl-ppcre/, "PS-Graph":http://www.cliki.net/psgraph, "Midi":http://www.cliki.net/midi
h2. Install Quicklisp
To install Quicklisp to a directory <code>DIR</code>, you need to load "<code>quicklisp.lisp</code>":http://beta.quicklisp.org/quicklisp.lisp in Lisp:
<pre>
(load "quicklisp.lisp")
(quicklisp-quickstart:install :path "DIR/quicklisp/")
(ql:add-to-init-file)
</pre>
h2. Download IDyOM
Download the following Lisp libraries, zip files and unzip unpack them into <code>DIR/quicklisp/local-projects/</code>
* "MIPS":https://code.soundsoftware.ac.uk/hg/mips/archive/tip.zip
* "AMuSE":https://code.soundsoftware.ac.uk/hg/amuse/archive/tip.zip
* "amuse-viewpoints":https://code.soundsoftware.ac.uk/hg/amuse-viewpoints/archive/tip.zip
* "mtp-admin":https://code.soundsoftware.ac.uk/hg/mtp-admin/archive/tip.zip
* "ppm-star":https://code.soundsoftware.ac.uk/hg/ppm-star/archive/tip.zip
* "idyom":https://code.soundsoftware.ac.uk/hg/idyom/archive/tip.zip
The <code>local-projects</code> directory should now contain six subdirectories, one for each library.
h2. Install IDyOM
You can now use Quicklisp to load IDyOM, and install IDyOM:
the external Lisp libraries it depends on:
<pre>
(ql:quickload "idyom")
</pre>
This will also install the third-party Lisp libraries IDyOM depends on. The first time it loads, IDyOM is loaded, you may get an error which brings up the debugger. Press 2 [ACCEPT] and the installation should complete.
h2. Create a database
IDyOM is now installed, but you will need a database in order to use it. To create an SQLite database in directory <code>DIR</code>:
<pre>
(clsql:connect '("DIR/example.db") :if-exists :old :database-type :sqlite3)
</pre>
Alternatively, to connect to an existing local MySQL database:
<pre>
(clsql:connect '("localhost" "example-database" "username" "password") :if-exists :old :database-type :mysql)
</pre>
See the "CLSQL documentation":http://clsql.b9.com/manual/ for more on "connect":http://clsql.b9.com/manual/connect.html and "supported databases":http://clsql.b9.com/manual/prerequisites.html#idp8251808.
Finally, for a new database:
<pre>
(mtp-admin:initialise-database)
</pre>
You may now proceed to the [[tutorial]].
h3. Problems loading foreign libraries
Depending on how your system is configured, <code>clsql:connect</code> may give a "Couldn't load foreign libraries" error. In this case, you
need to "tell CLSQL where it can find these libraries":http://clsql.b9.com/manual/appendix.html#foreignlibs, e.g.
<pre>
(clsql:push-library-path "/usr/local/mysql/lib/")
</pre>
The exact path will depend on your system. Note that, for some database installations these libraries may not have been installed, and you should consult the database documentation.
documentation
to resolve the problem.
h2. Prerequisites
* "Steel Bank Common Lisp [SBCL]":http://www.sbcl.org/platform-table.html
* "Quicklisp":http://www.quicklisp.org/beta/ is a library manager for Common Lisp. Just download "<code>quicklisp.lisp</code>":http://beta.quicklisp.org/quicklisp.lisp
* An SQL database. I would recommend "SQLite":http://www.sqlite.org/
Many people find "Emacs":http://www.gnu.org/software/emacs/ with "Slime":http://common-lisp.net/project/slime/ useful for Common Lisp development. Package management systems can simplify the installation of these prerequisites, e.g. "Fink":http://www.finkproject.org/ or "Macports":http://www.macports.org/ for OS X.
See the "CLSQL Manual":http://clsql.b9.com/manual/ for information on other database systems you can use and how to access them from Common Lisp. If you prefer not to use Quicklisp, you will need to install the following Lisp libraries: "UFFI":http://uffi.bi.com, "CLSQL":http://clsql.b9.com, "CL-PPCRE":http://www.weitz.de/cl-ppcre/, "PS-Graph":http://www.cliki.net/psgraph, "Midi":http://www.cliki.net/midi
h2. Install Quicklisp
To install Quicklisp to a directory <code>DIR</code>, you need to load "<code>quicklisp.lisp</code>":http://beta.quicklisp.org/quicklisp.lisp in Lisp:
<pre>
(load "quicklisp.lisp")
(quicklisp-quickstart:install :path "DIR/quicklisp/")
(ql:add-to-init-file)
</pre>
h2. Download IDyOM
Download the following Lisp libraries, zip files and unzip unpack them into <code>DIR/quicklisp/local-projects/</code>
* "MIPS":https://code.soundsoftware.ac.uk/hg/mips/archive/tip.zip
* "AMuSE":https://code.soundsoftware.ac.uk/hg/amuse/archive/tip.zip
* "amuse-viewpoints":https://code.soundsoftware.ac.uk/hg/amuse-viewpoints/archive/tip.zip
* "mtp-admin":https://code.soundsoftware.ac.uk/hg/mtp-admin/archive/tip.zip
* "ppm-star":https://code.soundsoftware.ac.uk/hg/ppm-star/archive/tip.zip
* "idyom":https://code.soundsoftware.ac.uk/hg/idyom/archive/tip.zip
The <code>local-projects</code> directory should now contain six subdirectories, one for each library.
h2. Install IDyOM
You can now use Quicklisp to load IDyOM, and install IDyOM:
the external Lisp libraries it depends on:
<pre>
(ql:quickload "idyom")
</pre>
This will also install the third-party Lisp libraries IDyOM depends on. The first time it loads, IDyOM is loaded, you may get an error which brings up the debugger. Press 2 [ACCEPT] and the installation should complete.
h2. Create a database
IDyOM is now installed, but you will need a database in order to use it. To create an SQLite database in directory <code>DIR</code>:
<pre>
(clsql:connect '("DIR/example.db") :if-exists :old :database-type :sqlite3)
</pre>
Alternatively, to connect to an existing local MySQL database:
<pre>
(clsql:connect '("localhost" "example-database" "username" "password") :if-exists :old :database-type :mysql)
</pre>
See the "CLSQL documentation":http://clsql.b9.com/manual/ for more on "connect":http://clsql.b9.com/manual/connect.html and "supported databases":http://clsql.b9.com/manual/prerequisites.html#idp8251808.
Finally, for a new database:
<pre>
(mtp-admin:initialise-database)
</pre>
You may now proceed to the [[tutorial]].
h3. Problems loading foreign libraries
Depending on how your system is configured, <code>clsql:connect</code> may give a "Couldn't load foreign libraries" error. In this case, you
need to "tell CLSQL where it can find these libraries":http://clsql.b9.com/manual/appendix.html#foreignlibs, e.g.
<pre>
(clsql:push-library-path "/usr/local/mysql/lib/")
</pre>
The exact path will depend on your system. Note that, for some database installations these libraries may not have been installed, and you should consult the database documentation.
documentation
to resolve the problem.