(ql:quickload 'lispbuilder-sdl) worked right away on an ubuntu box, but failed (couldn’t find `cocoahelper) when I tried the sam on my Macbook.

The fix is to install SDL, then go to ~/quicklisp/dists/quicklisp/software/lispbuilder-20140113-svn/lispbuilder-sdl/cocoahelper and type make. After this, the ql:quickload form succeeds.

However, the same dummy blank screen test program that worked fine on the linux box doesn’t seem to work anymore:

[code lang=text]
(defpackage :simple-sdl
(:use :common-lisp

(in-package :simple-sdl)

(defun main-screen ()
(sdl:with-init ()
(sdl:window 300 300
:title-caption "Simple SDL"
:icon-caption "Simple SDL")
(sdl:with-events ()
(:quit-event () t)
(:key-down-event ()

It fails with this backtrace:

[code lang=text]
0: ("bogus stack frame")
1: ("foreign function: CGSScanconverterRenderRGBMask")
2: ("foreign function: create_rgb_bitmap")
3: ("foreign function: CGGlyphBitmapCreateWithPath_32")
4: ("foreign function: CGFontCreateGlyphBitmap")
5: ("foreign function: _ZN14CGGlyphBuilder22create_missing_bitmapsEPK17CGGlyphIdentifiermPPK13CGGlyphBitmap")
6: ("foreign function: render_glyphs")
7: ("foreign function: draw_glyph_bitmaps")
8: ("foreign function: ripc_DrawGlyphs")
9: ("foreign function: draw_glyphs")
10: ("foreign function: CTFontDrawGlyphsAtPositions")
11: ("foreign function: -[CUITextEffectStack drawGlyphs:inContext:usingFont:atPositions:count:lineHeight:inBounds:atScale:]")
12: ("foreign function: -[CUICatalog drawGlyphs:atPositions:inContext:withFont:count:stylePresetName:styleConfiguration:foregroundColor:]")
13: ("foreign function: -[NSLineFragmentRenderingContext drawAtPoint:inContext:]")
14: ("foreign function: _NSStringDrawingCore")
15: ("foreign function: _NSDrawTextCell")
16: ("foreign function: -[NSTitledFrame _drawTitleStringIn:withColor:]")
17: ("foreign function: -[NSThemeFrame _drawTitleStringInClip:]")
18: ("foreign function: -[NSThemeFrame drawFrame:]")

Just when I was getting excited about it … so what other platform-independent Lisp GUI should I use 🙁 ?

BTW, while we’re knocking this (unfairly, of course), I should point out it doesn’t support SDL 2.x

I then stumbled on this library which seemed better maintained, and modified my example:

[code lang=text]
(defun main-screen ()
(sdl2:with-init (:everything)
(sdl2:with-window (win :w 300 :h 300
:title "Simple SDL")
(sdl2:with-event-loop (:method :poll)
(:quit () t)
(:keydown ()

Now a window did get created, but it didn’t play well with OSX (it wasn’t a “window” so much as a blank square of real estate on the screen, with a spinning beachball and no response).

So … the search for a basic simple drawing facility continues 🙁