“Error: unbound module” in OCaml

You have several options depending on your needs.

1) If you want to create a full project for your binary I recommend looking at jbuilder. Here is a very nice guide that explains the environment/project configuration step-by-step: OCaml for the impatient.

2) Another option is to compile the binary directly as you were trying to do:

ocamlbuild -pkg lwt -pkg cohttp-lwt-unix my_test1.native

Note that you need to have a file named my_test1.ml to generate the requested my_test1.native.

3) And finally for quick scripts I find it handy to be able to ask the OCaml interpreter to load the dependencies directly in the source file. Just add the following to the beginning of your file:

#use "topfind";;
#require "lwt";;
#require "cohttp-lwt-unix";;

And then run ocaml my_test1.ml.

Hope this helps! 🙂

Also looking at the command not found errors you are getting I can suggest to make sure your environment is correctly configured. The Real World OCaml book has a wiki page for that: https://github.com/realworldocaml/book/wiki/Installation-Instructions

Leave a Comment