1
votes

I made a post here (ocaml llvm kaleidoscope tutorial "Unbound module LlvmExecutionEngine") but that issue does not seem present on my mac which I have switched to.

I'm trying to get this to work: https://github.com/llvm-mirror/llvm/tree/master/examples/OCaml-Kaleidoscope/Chapter7

from this tutorial http://llvm.org/docs/tutorial/OCamlLangImpl7.html

(I'm 99% sure these two are by the same people)

After getting around a few issues I have reached a stumbling block for the last few hours of

dyn-160-39-160-188:Chapter7 me$ ocamlbuild -use-ocamlfind toy.byte -package llvm llvm_executionengine
Finished, 0 targets (0 cached) in 00:00:00.
+ ocamlfind ocamlc -c -package llvm -o toplevel.cmo toplevel.ml
File "toplevel.ml", line 37, characters 25-53:
Error: Unbound module ExecutionEngine
Command exited with code 2.
Compilation unsuccessful after building 13 targets (12 cached) in 00:00:00.

I'm pretty sure llvm_executionengine is the right package as if I try something else it says it doesn't know what package it is.

Here is the line of code with the error:

    (* JIT the function, returning a function pointer. *)
    let result = ExecutionEngine.run_function the_function [||] (*this line*)
      the_execution_engine in

    print_string "Evaluated to ";
    print_float (GenericValue.as_float Codegen.double_type result); 

Any help would be super!

1

1 Answers

1
votes

ocamlfind's CLI doesn't work like that. -package llvm -package llvm.execution should work.