Не удалось скомпилировать: ocamlfind: пакет `xmlm' не найден

Я пытаюсь скомпилировать файл OCaml .ml с командой make через удаленную машину командной строки, но он показывает мне эту ошибку:

+ ocamlfind ocamlc -c -package xmlm -package unix -o pms.cmo pms.ml
ocamlfind: Package `xmlm' not found
Command exited with code 2.
Hint: Recursive traversal of subdirectories was not enabled for this build,
  as the working directory does not look like an ocamlbuild project (no
  '_tags' or 'myocamlbuild.ml' file). If you have modules in subdirectories,
  you should add the option "-r" or create an empty '_tags' file.
  
  To enable recursive traversal for some subdirectories only, you can use the
  following '_tags' file:
  
      true: -traverse
      <dir1> or <dir2>: traverse
      
Compilation unsuccessful after building 6 targets (5 cached) in 00:00:00.
Makefile:10 : la recette pour la cible « native » a échouée
make: *** [native] Erreur 10

Я попытался экспортировать среду с помощью этой команды:

eval $(/usr/bin/opam config env --root=/path/Ocaml/opam-ocaml-4.04-strech)

Но также у меня была эта ошибка:

# opam-version    1.2.2
# os              linux
File /p/opas/src/Ocaml/opam-ocaml-4.04-strech/config does not exist

в то время как файл config существует в каталоге

любая помощь Пожалуйста?!! Спасибо


person Flora8832    schedule 09.02.2021    source источник


Ответы (1)


Чтобы сделать пакет доступным через opam (при условии, что opam правильно установлен и настроен), вам необходимо:

  1. установить пакет
  2. активируй свой опам

Чтобы установить пакет с именем foo, выполните следующую команду в вашей оболочке

opam install foo

Чтобы активировать вашу установку opam (которая включает пути поиска), введите следующую команду

eval $(opam config env)

или, с современным opam (то есть версии 2.x) просто eval $(opam env)

Прежде чем сделать это, вам необходимо правильно инициализировать вашу установку opam, т. е. установить компилятор (или использовать системный компилятор) и базовые пакеты. Это делается с помощью команды opam init, которая создает подкаталог, управляемый opam, в вашем доме, например, используя (старая по сегодняшним меркам) OCaml версии 4.04.0, вы можете инициализировать ее следующим образом.

opam init --comp=4.04.0

после завершения инициализации не забудьте активировать его через eval $(opam config env) и теперь вы можете установить пакет.

Наконец, версия opam, которую вы используете, устарела и давно устарела, поэтому она не получает обновлений, а репозитории, которые может понять эта версия, заморожены и больше не обновляются. Вам действительно нужно обновить opam до версии 2.x. Следуйте инструкциям по установке opam, чтобы получить последнюю версию.

person ivg    schedule 09.02.2021