Installation » History » Version 8
Jeremy Gow, 2012-10-03 12:06 PM
More on clsql:connect
1 | 7 | Jeremy Gow | h1. Installing IDyOM |
---|---|---|---|
2 | 1 | Marcus Pearce | |
3 | 1 | Marcus Pearce | h2. Prerequisites |
4 | 1 | Marcus Pearce | |
5 | 2 | Marcus Pearce | * "Steel Bank Common Lisp [SBCL]":http://www.sbcl.org/platform-table.html |
6 | 7 | Jeremy Gow | * "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 |
7 | 7 | Jeremy Gow | * An SQL database. I would recommend "SQLite":http://www.sqlite.org/ |
8 | 1 | Marcus Pearce | |
9 | 7 | Jeremy Gow | 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. |
10 | 2 | Marcus Pearce | |
11 | 7 | Jeremy Gow | 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 |
12 | 1 | Marcus Pearce | |
13 | 7 | Jeremy Gow | h2. Install Quicklisp |
14 | 1 | Marcus Pearce | |
15 | 7 | Jeremy Gow | 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: |
16 | 1 | Marcus Pearce | |
17 | 1 | Marcus Pearce | <pre> |
18 | 7 | Jeremy Gow | (load "quicklisp.lisp") |
19 | 7 | Jeremy Gow | (quicklisp-quickstart:install :path "DIR/quicklisp/") |
20 | 7 | Jeremy Gow | (ql:add-to-init-file) |
21 | 1 | Marcus Pearce | </pre> |
22 | 1 | Marcus Pearce | |
23 | 7 | Jeremy Gow | h2. Download IDyOM |
24 | 1 | Marcus Pearce | |
25 | 7 | Jeremy Gow | Download the following zip files and unpack them into <code>DIR/quicklisp/local-projects/</code> |
26 | 1 | Marcus Pearce | |
27 | 2 | Marcus Pearce | * "MIPS":https://code.soundsoftware.ac.uk/hg/mips/archive/tip.zip |
28 | 1 | Marcus Pearce | * "AMuSE":https://code.soundsoftware.ac.uk/hg/amuse/archive/tip.zip |
29 | 2 | Marcus Pearce | * "amuse-viewpoints":https://code.soundsoftware.ac.uk/hg/amuse-viewpoints/archive/tip.zip |
30 | 1 | Marcus Pearce | * "mtp-admin":https://code.soundsoftware.ac.uk/hg/mtp-admin/archive/tip.zip |
31 | 1 | Marcus Pearce | * "ppm-star":https://code.soundsoftware.ac.uk/hg/ppm-star/archive/tip.zip |
32 | 1 | Marcus Pearce | * "idyom":https://code.soundsoftware.ac.uk/hg/idyom/archive/tip.zip |
33 | 1 | Marcus Pearce | |
34 | 8 | Jeremy Gow | h2. Install IDyOM |
35 | 1 | Marcus Pearce | |
36 | 7 | Jeremy Gow | You can now use Quicklisp to load IDyOM, and install the external Lisp libraries it depends on: |
37 | 1 | Marcus Pearce | |
38 | 5 | Marcus Pearce | <pre> |
39 | 7 | Jeremy Gow | (ql:quickload "idyom") |
40 | 5 | Marcus Pearce | </pre> |
41 | 8 | Jeremy Gow | The first time IDyOM is loaded, you may get an error which brings up the debugger. Press 2 [ACCEPT] and the installation should complete. |
42 | 1 | Marcus Pearce | |
43 | 7 | Jeremy Gow | h2. Create a database |
44 | 1 | Marcus Pearce | |
45 | 7 | Jeremy Gow | 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>: |
46 | 5 | Marcus Pearce | |
47 | 1 | Marcus Pearce | <pre> |
48 | 1 | Marcus Pearce | (clsql:connect '("DIR/example.db") :if-exists :old :database-type :sqlite3) |
49 | 8 | Jeremy Gow | </pre> |
50 | 8 | Jeremy Gow | Alternatively, to connect to an existing local MySQL database: |
51 | 8 | Jeremy Gow | <pre> |
52 | 8 | Jeremy Gow | (clsql:connect '("localhost" "example-database" "username" "password") :if-exists :old :database-type :mysql) |
53 | 8 | Jeremy Gow | </pre> |
54 | 8 | Jeremy Gow | 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. |
55 | 8 | Jeremy Gow | |
56 | 8 | Jeremy Gow | Finally, for a new database: |
57 | 8 | Jeremy Gow | <pre> |
58 | 7 | Jeremy Gow | (mtp-admin:initialise-database) |
59 | 7 | Jeremy Gow | </pre> |
60 | 1 | Marcus Pearce | |
61 | 1 | Marcus Pearce | You may now proceed to the [[tutorial]]. |
62 | 8 | Jeremy Gow | |
63 | 8 | Jeremy Gow | h3. Problems loading foreign libraries |
64 | 8 | Jeremy Gow | |
65 | 8 | Jeremy Gow | Depending on how your system is configured, <code>clsql:connect</code> may give a "Couldn't load foreign libraries" error. In this case, you |
66 | 8 | Jeremy Gow | need to "tell CLSQL where it can find these libraries":http://clsql.b9.com/manual/appendix.html#foreignlibs, e.g. |
67 | 8 | Jeremy Gow | <pre> |
68 | 8 | Jeremy Gow | (clsql:push-library-path "/usr/local/mysql/lib/") |
69 | 8 | Jeremy Gow | </pre> |
70 | 8 | Jeremy Gow | 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 |
71 | 8 | Jeremy Gow | to resolve the problem. |