Не предусмотрено реализаций для следующих модулей (Mtime_clock, Mtime)

#ocaml #ocaml-dune

#ocaml #ocaml-dune

Вопрос:

В моем проекте я использую пакет OCanren, который я установил, как описано здесь:https://github.com/JetBrains-Research/OCanren#Installation.

У меня есть файл test.ml , в котором я использую OCanren:

 open OCanren

let _ = inj
  

И dune файл в том же каталоге:

 (executable
  (name      test)
  (libraries ocanren mtime mtime.clock.os mtime.clock mtime.top)
  (flags     (:standard -rectypes)))
  

Это проблема, с которой я сталкиваюсь, когда пытаюсь создать исполняемый файл:

 $ dune build test.exe
File "_none_", line 1:
Error: No implementations provided for the following modules:
         Mtime_clock referenced from ~/.opam/4.07.1 fp flambda/lib/ocanren/OCanren.cmxa(Timer)
         Mtime referenced from ~/.opam/4.07.1 fp flambda/lib/ocanren/OCanren.cmxa(Timer),
           ~/.opam/4.07.1 fp flambda/lib/ocanren/OCanren.cmxa(Core)
Done: 19/20 (jobs: 1)(base) 
  

Как мне предоставить реализации для Mtime_clock и Mtime?

Ответ №1:

Решение состояло в том, чтобы поместить пакеты Mtime перед OCanren в dune файле:

 (executable
  (name      test)
  (libraries mtime mtime.clock.os ocanren)
  (flags     (:standard -rectypes)))