I successfully ran the cells-gtk demo (shot 1, shot 2)i ncluding libcellsgtk functionality on SBCL 0.9.12 and Mac OS X 10.3 Panther after taking a few minor hurdles. I installed GTK2 using Fink.
DYLD_LIBRARY_PATH to /sw/lib/ by changing
~/.MacOSX/environment.plist and logging out and back in again:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"[[http://www.apple.com/DTDs/PropertyList-1.0.dtd"]]>
<plist version="1.0">
<dict>
<key>DYLD_LIBRARY_PATH</key>
<string>/sw/lib/</string>
</dict>
</plist>
While you're at it you may just as well set DISPLAY there.
At the moment cells-gtk tries to load the wrong libraries. To
correct this, change the foreign library definitions in
gtk-ffi.lisp along these lines:
(cffi:define-foreign-library :gobject (cffi-features:darwin "libgobject-2.0.0.dylib") (cffi-features:unix "libgobject-2.0.so") (cffi-features:windows "libgobject-2.0-0.dll"))
The order of the cffi-features is important, since OS X is also a
unix and most (all?) Lisp implementations have :UNIX in their
*FEATURES*.
libcellsgtk install the development versions of the GTK2 libs (including the
dependencies) or download mine. The Fink packages you need to
compile this library yourself are
atk1 1.6.1-3 glib2-dev 2.4.6-6 gtk+2-dev 2.4.9-8 libiconv-dev 1.9.1-11 pango1-xft2-dev 1.6.0-1 pkgconfig 0.15.0-2
Plus everything else that fink install gtk+2-dev might
install. The package atk1-shlibs is not enough!
Finally you need to modify the files GTK-ADDS.C and Makefile
in the GTK-FFI sub-directory. In the former change the line
asm (".section .drectve");
to
asm (".section .drectve,");
and in the latter change
gcc -shared -o libcellsgtk.so gtk-adds.o `pkg-config --cflags --libs gtk+-2.0`to
gcc -dynamiclib -o libcellsgtk.so gtk-adds.o `pkg-config --cflags --libs gtk+-2.0`
Now a simple make should do the right thing.
Now everything should work. If GTK-INIT-CHECK fails, make sure
that your X11 server is running and that DISPLAY is set
correctly.
OpenMCL can't currently load cells-gtk due to FFI problems.
Date: 2006/08/29 10:14:55