Ivory Siege Tower

mobile construct built of thoughts and parentheses

Lisp CFFI *foreign-library-directories*

[2022-11-07]

guix lisp st_dev

Once again shot myself in the knee with guix-installed software not being able to link against host OS shared libraries.

This time it was SBCL failing on loading libssl.so while building dependencies during package installation with quicklisp. Took me a while to get what's going on, since of course I do have openssl installed. Both in Guix and Ubuntu, but the path to guix-ified foreign .so objects is unknown to SBCL (which also comes from guix).

The required $LIBRARY_PATH location is listed among needed environment variable definitions via

  guix package --search-paths

and since I do not want to export it system-wide, I append the following to my ~/.sbclrc according to cffi docs on how to point cffi to a required shared libraries location:

  (asdf:load-system :cffi)
  (pushnew (pathname (format nil "~a/.guix-profile/lib/"
                             (uiop:getenv "HOME"))) 
           cffi:*foreign-library-directories* :test #'equal)

Guess that stuff gonna happen with everything from Guix in need for Foreign Function Interface. Damn.

Social Timeline: