I would like to tinker with GSLL on an OpenBSD-5.3 machine. Using quicklisp to load GSLL:
- Code: Select all
* (ql:quickload "gsll")
results in some errors:
- Code: Select all
; Loading "gsll"
sbcl:/usr/local/lib/libffi.so.6.1: undefined symbol 'pthread_mutex_unlock'
sbcl:/usr/local/lib/libffi.so.6.1: undefined symbol 'pthread_mutex_lock'
sbcl:/usr/local/lib/libffi.so.6.1: undefined symbol 'pthread_mutex_init'
After some digging in libffi, I found a comment in ChangeLog that says "Link openbsd programs with -lpthread". Looks interesting. Unfortunately, I haven't found any top-level configuration options in CFFI that specifies how libffi is linked. There is a file:
- Code: Select all
lucidrine:/home/hanzer/quicklisp/dists/quicklisp/software/cffi_0.11.2/libffi$ libffi-unix.lisp
that specifies compiler options for darwin:
- Code: Select all
;; When installed through Mac Ports, libffi include files
;; will be found in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
I would like to try a Hail Mary stab at linking libffi with -lpthread by adding something like this:
- Code: Select all
#+unix
(cc-flags "-lpthread")
Easy enough, but being fairly new to quicklisp (<12 hours), I don't know how to make the system evaluate the modified code.

I will continue to explore, of course, but I've been itching to get involved with the forum. Any ideas, tips, or suggestions?