Installation » History » Version 8

« Previous - Version 8/85 (diff) - Next » - Current version
Jeremy Gow, 2012-10-03 12:06 PM
More on clsql:connect


Installing IDyOM

Prerequisites

Many people find Emacs with Slime useful for Common Lisp development. Package management systems can simplify the installation of these prerequisites, e.g. Fink or Macports for OS X.

See the CLSQL 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, CLSQL, CL-PPCRE, PS-Graph, Midi

Install Quicklisp

To install Quicklisp to a directory DIR, you need to load quicklisp.lisp in Lisp:

(load "quicklisp.lisp")
(quicklisp-quickstart:install :path "DIR/quicklisp/")
(ql:add-to-init-file)

Download IDyOM

Download the following zip files and unpack them into DIR/quicklisp/local-projects/

Install IDyOM

You can now use Quicklisp to load IDyOM, and install the external Lisp libraries it depends on:

(ql:quickload "idyom")

The first time IDyOM is loaded, you may get an error which brings up the debugger. Press 2 [ACCEPT] and the installation should complete.

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 DIR:

(clsql:connect '("DIR/example.db") :if-exists :old :database-type :sqlite3)

Alternatively, to connect to an existing local MySQL database:
(clsql:connect '("localhost" "example-database" "username" "password") :if-exists :old :database-type :mysql)

See the CLSQL documentation for more on connect and supported databases.

Finally, for a new database:

(mtp-admin:initialise-database)

You may now proceed to the tutorial.

Problems loading foreign libraries

Depending on how your system is configured, clsql:connect may give a "Couldn't load foreign libraries" error. In this case, you
need to tell CLSQL where it can find these libraries, e.g.

(clsql:push-library-path "/usr/local/mysql/lib/")

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
to resolve the problem.