Графический модуль 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.