[ Home ] The pages on this CLiki-driven site can be edited by anybody at any time. No warranty of any kind can therefore be made; any implied warranties of merchantability or fitness for a particular purpose are expressly disclaimed
[ Home ] [ Recent Changes ] [ About CLiki ] [ Text Formatting ]

McCLIM + gtkairo

Using sbcl 0.9.13

This is mostly a quick list of steps to get mcclim and the gtkairo backend working on a Linux system.

(Note: Gtkairo will work as described on Linux/x86 using SBCL. On other platforms, notably Darwin, make sure your SBCL supports callbacks. Although I haven't checked it, I believe at the time of this writing it doesn't.)

If you have never installed McCLIM before...

McCLIM and the Lisp libraries it uses are all built using ASDF. If you are not familiar with ASDF or asdf-install, here are the basics:

First, we need to get the relevant files, and put them somewhere of use. Define a $HOME/.sbclrc file with the following:

(require 'asdf)
(push 
    (truename "/home/user/lisptoplevel/systems/")
    asdf:*central-registry*)

Then in the system directory, I download (using cvs, tarball, etc.) the libs needed, and symlink their asd files to the systems directory.

You need spatial-trees, clx, and cffi.

The way McCLIM system file is currently written, you need CLX even if you want to use clim-gtkairo instead of clim-clx.

CFFI is for gtkairo.

 cvs -z3 -d:pserver:anonymous:anonymous@common-lisp.net:/project/mcclim/cvsroot co mcclim
ln -s mcclim/mcclim.asd .
wget http://ftp.linux.org.uk/pub/lisp/sbcl/clx_0.7.3.tar.gz
tar -xvzf clx_0.7.3.tar.gz
ln -s clx_0.7.3/clx.asd .
wget http://ftp.linux.org.uk/pub/lisp/cclan/spatial-trees.tar.gz
tar -xvzf spatial-trees.tar.gz
ln -s spatial-trees-0.2/spatial-trees.asd .
wget http://common-lisp.net/project/cffi/releases/cffi_0.9.1.tar.gz
tar -xvzf cffi_0.9.1.tar.gz

Gsharp isn't needed but can be used as a test application - anyway, it's not hard to add if you want it. Note that other CLIM applications like Climacs and Beirc are equally good test cases for gtkairo, but their installation is not described here.

cvs -z3 -d :pserver:anonymous:anonymous@common-lisp.net:/project/gsharp/cvsroot co gsharp
ln -s gsharp/gsharp.asd .
wget http://www.common-lisp.net/project/flexichain/download/flexichain_latest.tgz
tar -xvzf flexichain_latest.tgz
ln -s flexichain/flexichain.asd .
cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/climacs/cvsroot co esa
ln -s esa/esa.asd .

Building the System

Make sure you have installed cffi as explained above.

You will also need GTK+ development files. On Debian, use

apt-get install libgtk2.0-dev

The next three commands should build everything you need (really the first two, but the examples are what you will use for testing):

(asdf:oos 'asdf:load-op :mcclim)
(asdf:oos 'asdf:load-op :clim-gtkairo)
(asdf:oos 'asdf:load-op :clim-examples)

(Alternatively, you can do (push :gtkairo *features*) before building mcclim. Then clim-gtkairo is automatically built as part of the mcclim system.)

Checking for a Working Build

Before going straight to gsharp, we will check one of the standard examples:

(clim-demo::run-test 'clim-demo::demodemo)

If this works, you now have functioning gtkairo based McCLIM.

Gsharp

To build the Gsharp system, type

(asdf:oos 'asdf:load-op :gsharp)

To run it, enter

(gsharp:gsharp)

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively