没有为以下模块(Mtime_clock、Mtime)提供实现

No implementations provided for the following modules (Mtime_clock, Mtime)

在我的项目中,我使用的是 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 的实现?

解决方案是在 dune 文件中将 Mtime 包放在 OCanren 之前:

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