Графический модуль Ocaml Unbound
Запуск
open Graphics;;
в ocaml возвращает ошибку, говоря, что это несвязанный модуль. Запуск его в терминале (ocaml) возвращает то же самое.
Означает ли это, что мой графический модуль каким-то образом не был установлен с пакетом ocaml? Если да, то как я могу установить модуль?
В Fedora.
Ответы
Ответ 1
Графический модуль по умолчанию не готов. Вам нужно загрузить его вручную. В верхнем слое:
$ ocaml
OCaml version blahblah
# #load "graphics.cma";;
# open Graphics;;
или вы можете указать его в командной строке:
$ ocaml graphics.cma
OCaml version blahblah
# open Graphics;;
Я не знаю о Fedora, но если выше не удается, графика не установлена в вашей среде.
Ответ 2
Эта ошибка также часто появляется в Mac OS X. С помощью Homebrew этот модуль отключен по умолчанию при установке, поэтому brew install ocaml
не будет устанавливать графический модуль, возможно, из-за зависимости XQuartz.
Если вы запустите brew info ocaml
, он скажет вам, что есть флаг, а именно --with-x11
, который будет "Установить с помощью графического модуля". Поэтому для установки/переустановки ocaml вам придется запускать:
brew install Caskroom/cask/xquartz
brew [re]install ocaml --with-x11
Наконец, не забудьте проверить, что экземпляр ocaml
, который запущен, является тем, который находится в /usr/local/Cellar/objective-caml/x.yy.z[_w]/bin
, и если он не добавляет этот URL-адрес вашей переменной окружения PATH
. Также не забудьте перезагрузить компьютер после установки XQuartz.