1

When trying to use the Llvm_analysis module in the Llvm package, I get the error message:

File "_none_", line 1:
Error: No implementations provided for the following modules:
         Llvm_analysis referenced from .compiler.eobjs/native/dune__exe__Codegen.cmx

Is this an error on my end or is something wrong with the llvm package?

Dune file is:

(executable
 (name compiler)
 (modes byte exe)
 (libraries base stdio sexp_pretty str parsexp llvm)
 (preprocess (pps ppx_jane ppx_regexp))
)
Tim Eichholz
  • 119
  • 1
  • 7

1 Answers1

1

The llvm library is packaged into several subpackages, e.g.,

$ ocamlfind list | grep llvm
llvm                (version: 9.0.0)
llvm.all_backends   (version: 9.0.0)
llvm.analysis       (version: 9.0.0)
llvm.bitreader      (version: 9.0.0)
llvm.bitwriter      (version: 9.0.0)
llvm.executionengine (version: 9.0.0)
llvm.ipo            (version: 9.0.0)
llvm.irreader       (version: 9.0.0)
llvm.linker         (version: 9.0.0)
llvm.passmgr_builder (version: 9.0.0)
llvm.scalar_opts    (version: 9.0.0)
llvm.target         (version: 9.0.0)
llvm.transform_utils (version: 9.0.0)
llvm.vectorize      (version: 9.0.0)
llvm_AArch64        (version: 9.0.0)
llvm_AMDGPU         (version: 9.0.0)
llvm_ARM            (version: 9.0.0)
llvm_BPF            (version: 9.0.0)
llvm_Hexagon        (version: 9.0.0)
llvm_Lanai          (version: 9.0.0)
llvm_MSP430         (version: 9.0.0)
llvm_Mips           (version: 9.0.0)
llvm_NVPTX          (version: 9.0.0)
llvm_PowerPC        (version: 9.0.0)
llvm_RISCV          (version: 9.0.0)
llvm_Sparc          (version: 9.0.0)
llvm_SystemZ        (version: 9.0.0)
llvm_X86            (version: 9.0.0)
llvm_XCore          (version: 9.0.0)

The llvm package is only the base library, to enable Llvm_analysis you need to link to the llvm.analysis (i.e., add it to the libraries stanza of your dune file.

ivg
  • 34,431
  • 2
  • 35
  • 63