1.3. OCaml in Debian

At the time of this writing, the latest version of OCaml in Debian is 3.10.2.

1.3.1. Packages for OCaml

The ocaml package depends on all the basic packages needed to develop programs with OCaml. More specifically, the packaging of OCaml is split into smaller packages. The packages with suffix -nox contain libraries that don't need X (i.e., for programs that don't use the Graphics or LablTk modules) in order to avoid dependencies on big packages for users who do not need to run graphical applications. Here is the list of binary packages into which OCaml is split:

  1. The ocaml and ocaml-nox packages contain the compiler and its libraries.

  2. The ocaml-native-compilers package contains the OCaml compilers built in native mode (ocamlc.opt and ocamlopt.opt).

    Note

    The compilers themselves are built in native mode, nonetheless, both compilers for compiling toward bytecode and native code are contained in this package.

  3. The ocaml-base and ocaml-base-nox packages contain the interpreter and runtime libraries needed by bytecode programs compiled with OCaml (in particular, the package ocaml-base-nox contains the ocamlrun program).

  4. The ocaml-interp package contains the toplevel system for OCaml (ocaml) which provides for an interactive interpreter of the language.

  5. The ocaml-mode package contains the OCaml Emacs mode (the one provided with OCaml, not the tuareg mode which is in the package tuareg-mode).

  6. The ocaml-source package contains the sources of the OCaml compiler.

  7. The ocaml-compiler-libs package contains some internal libraries of the OCaml compiler (needed only in very rare cases, e.g. for developing languages which reuse OCaml internals).

Since libraries produced by OCaml are binary incompatible when compiled with different releases of OCaml, versioned virtual packages are also provided by packages at items (1) and (2): ocaml-3.10.2, ocaml-nox-3.10.2, ocaml-base-3.10.2, ocaml-base-nox-3.10.2.

1.3.2. OCaml Location

The root of all installed OCaml libraries is the OCaml standard library directory, which is /usr/lib/ocaml/VERSION/, at the time of writing /usr/lib/ocaml/3.10.2. This location can be obtained from the OCaml compiler by invoking it as ocamlc -where.