In Which I Solve More of Your Most Pressing Problems

Look at this bullshit. I’ve been trying to get plotting and Qt working under Lisp, on a Mac, because I fucking hate myself. Yinz are about to benefit from my experience.

Here are the steps if you are the kind of self-hating masochist who needs to get commonqt working under OS X:

Steps to do that:

1) use something like macports to get the smoke libraries, e.g.

sudo port install smokeqt

2) wait a long time, hopefully it finishes without exploding

3) if you’ve got quicklisp, do (ql:quickload "qt"). It will crash.

4) It crashes for the following reasons:

a) for reasons not obviously clear to me the compilation is linked against the debug libraries, i.e. libQtGui_debug. WHY?! It don’t matter, go to whatever directory quicklisp put your shit in and edit the commonqt.pro file to remove the debug from the build spec.
b) While you’re there you’ll also want to change lsmokeqtcore to lsmokebase because that’s the correct lib to link against, else CRASHX0R.

5) ok, you can now (ql:quickload "qt") again. Psych! no you can’t. It won’t work. WHY?!

6) it’s because the cffi library that gets loaded is incorrectly configured for OS X. That’s fucking right, you’re gonna want to change that line in info.lisp that goes:

#-(or mswindows windows win32) "libsmoke~A.so"

to something sensible like

#+(and (or unix) (not darwin)) "libsmoke~A.so"
#+(or mswindows windows win32) "smoke~A.dll"
#+(or darwin) "libsmoke~A.dylib"

so that now it actually loads libsmokecore.dylib and all that other jazz correctly.

7) ok, now run the quickload again! YOU ARE ALL SET MOTHERFUCKER.

Leave a Reply

Your email address will not be published. Required fields are marked *