Как загрузить расширение в Guile 2.0?

Я пытаюсь загрузить расширение Graphviz для Guile 2.0. Эта строка кода схемы, предложенная в документации 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

Те же результаты. Как я могу это сделать?


person ivarec    schedule 26.08.2013    source источник


Ответы (2)


Проблема заключалась в том, что пакеты Graphviz моего дистрибутива были скомпилированы для Guile 1.8, а эти две версии Guile несовместимы с ABI.

Компиляция Graphviz, связанная с Guile 2.0 (с заголовками Guile 2.0), решила эту проблему.

person ivarec    schedule 28.08.2013

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

У меня работает: обновленный Archlinux 64 бит, guile 2.09 и graphviz 2.30.1-7.

Ваше сообщение об ошибке говорит "File not found". Убедитесь, что файл существует и у вас достаточно прав.

person Sil    schedule 26.08.2013
comment
Файл существует и работает в Guile 1.8, так что проблема точно не в этом. - person ivarec; 26.08.2013