guile-cairo package: library not found
Guile seems to be looking for libguile-cairo in '/usr/lib/' instead of
'/usr/lib/x86_64-linux-gnu/'.
##############
# package info
$ apt show guile-cairo
Package: guile-cairo
Version: 1.11.2-5
Priority: optional
Section: lisp
Maintainer: Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>
Installed-Size: 317 kB
Depends: guile-3.0-libs, libc6 (>= 2.14), libcairo2 (>= 1.10.0),
sgml-base (>= 1.28)
Homepage: https://www.nongnu.org/guile-cairo/
Tag: devel::lang:scheme
Download-Size: 66.2 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: Guile bindings for Cairo
This package contains Guile modules that provide access to the Cairo
library. Cairo is a multi-platform library providing anti-aliased
vector-based rendering for multiple target backends.
$ apt-file show guile-cairo
guile-cairo: /usr/lib/x86_64-linux-gnu/libguile-cairo.la
guile-cairo: /usr/lib/x86_64-linux-gnu/libguile-cairo.so
guile-cairo: /usr/lib/x86_64-linux-gnu/libguile-cairo.so.0
guile-cairo: /usr/lib/x86_64-linux-gnu/libguile-cairo.so.0.0.0
guile-cairo: /usr/share/doc/guile-cairo/AUTHORS
guile-cairo: /usr/share/doc/guile-cairo/NEWS.gz
guile-cairo: /usr/share/doc/guile-cairo/README.gz
guile-cairo: /usr/share/doc/guile-cairo/TODO
guile-cairo: /usr/share/doc/guile-cairo/changelog.Debian.gz
guile-cairo: /usr/share/doc/guile-cairo/changelog.gz
guile-cairo: /usr/share/doc/guile-cairo/copyright
guile-cairo: /usr/share/guile/site/cairo.scm
guile-cairo: /usr/share/guile/site/cairo/cairo-procedures.txt
guile-cairo: /usr/share/guile/site/cairo/config.scm
guile-cairo: /usr/share/guile/site/cairo/vector-types.scm
guile-cairo: /usr/share/lintian/overrides/guile-cairo
#########
# problem
$ guile -q
scheme@(guile-user)> (use-modules (cairo))
While compiling expression:
In procedure load-foreign-library: file: "/usr/lib/libguile-cairo",
message: "file not found"/usr/lib/libguile-cairo", message: "file not
found"
scheme@(guile-user)> ,m cairo
scheme@(cairo)> *cairo-lib-path*
$1 = "/usr/lib/libguile-cairo"
The library path seen by guile differs from the path in cairo/config.
$ cat /usr/share/guile/site/cairo/config.scm | sed -e '/^;;.*/d' -e
'/^[[:space:]]*$/d'
(define-module (cairo config)
:export (*cairo-lib-path*
*cairo-documentation-path*))
(define *cairo-lib-path* "/usr/lib/x86_64-linux-gnu/libguile-cairo")
(define *cairo-documentation-path*
"/usr/share/guile/site/cairo/cairo-procedures.txt")
Reply to: