如何在Guile 2.0中加载扩展?

时间:2013-08-26 06:38:27

标签: scheme graphviz guile

我正在尝试加载 Guile 2.0 的Graphviz扩展程序。由Graphviz的文档建议的这一系列方案代码适用于 Guile 1.8

(load-extension "/usr/lib/graphviz/guile/libgv_guile.so" "SWIG_init")

但是,它会在 Guile 2.0 中失败并出现以下错误:

scheme@(guile-user)> (load-extension "/usr/lib/graphviz/guile/libgv_guile.so" "SWIG_init") 
ERROR: In procedure load-extension:
ERROR: In procedure dynamic-link: file: "/usr/lib/graphviz/guile/libgv_guile.so", message: "file not found"

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.

我也尝试过使用以下备用路径:

/usr/lib/graphviz/guile/libgv_guile
libgv_guile

相同的结果。我该怎么做?

2 个答案:

答案 0 :(得分:2)

问题是我的发行版的Graphviz包是针对Guile 1.8编译的,而且这两个版本的Guile不兼容ABI。

编译Graphviz链接Guile 2.0(使用Guile 2.0的标题)解决了它。

答案 1 :(得分:0)

(load-extension "/usr/lib/graphviz/guile/libgv_guile.so" "SWIG_init")

它适用于我:最新的Archlinux 64位,guile 2.09和graphviz 2.30.1-7

您的错误消息显示为"File not found"。 检查文件是否存在,并且您有足够的权限。