GNU bug report logs - #39079
SBCL CFFI from Guix unable to find dynamic libraries

Previous Next

Package: guix;

Reported by: Evan Straw <evan.straw99 <at> gmail.com>

Date: Sat, 11 Jan 2020 03:39:02 UTC

Severity: normal

Done: Pierre Neidhardt <mail <at> ambrevar.xyz>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 39079 <at> debbugs.gnu.org
Subject: bug#39079: SBCL CFFI from Guix unable to find dynamic libraries
Date: Sat, 11 Jan 2020 10:58:07 +0100
[Message part 1 (text/plain, inline)]
Hi Evan,

This is a current limitation on Guix because CFFI hardcodes the lib path
to /usr/lib, etc.
Maybe we could fix this, but it's not very clear how.

In the meantime, you can add this to your ~/.sbclrc:

--8<---------------cut here---------------start------------->8---
(when (ignore-errors (asdf:load-system "cffi"))
  ;; Warning: Trailing "/" matters!
  (dolist (guix-profile
           `(,(when (uiop:directory-exists-p "~/.guix-profile")
                (format nil "~a/.guix-profile/lib/" (uiop:getenv "HOME")))
              ,@(mapcar (lambda (d)
                          (format nil "~a~a/lib/"
                                  (namestring d)
                                  (first (last (pathname-directory d)))))
                        (uiop:subdirectories "~/.guix-extra-profiles/"))))
    (push guix-profile
          (symbol-value (find-symbol (string '*foreign-library-directories*)
                                     (find-package 'cffi))))))
--8<---------------cut here---------------end--------------->8---

In the above, edit "~/.guix-extra-profiles" to point to the directory
where you store all your profiles.

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 5 years and 123 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.