How To Install ocaml on Rocky Linux 8

In this tutorial we learn how to install ocaml on Rocky Linux 8. ocaml is OCaml compiler and programming environment

Introduction

In this tutorial we learn how to install ocaml on Rocky Linux 8.

What is ocaml

OCaml is a high-level, strongly-typed, functional and object-oriented programming language from the ML family of languages. This package comprises two batch compilers (a fast bytecode compiler and an optimizing native-code compiler), an interactive toplevel system, parsing tools (Lex,Yacc), a replay debugger, a documentation generator, and a comprehensive library.

We can use yum or dnf to install ocaml on Rocky Linux 8. In this tutorial we discuss both methods but you only need to choose one of method to install ocaml.

Install ocaml on Rocky Linux 8 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install ocaml using dnf by running the following command:

sudo dnf -y install ocaml

Install ocaml on Rocky Linux 8 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install ocaml using yum by running the following command:

sudo yum -y install ocaml

How To Uninstall ocaml on Rocky Linux 8

To uninstall only the ocaml package we can use the following command:

sudo dnf remove ocaml

ocaml Package Contents on Rocky Linux 8

/usr/bin/ocaml
/usr/bin/ocaml-instr-graph
/usr/bin/ocaml-instr-report
/usr/bin/ocamlbyteinfo
/usr/bin/ocamlc
/usr/bin/ocamlc.byte
/usr/bin/ocamlc.opt
/usr/bin/ocamlcmt
/usr/bin/ocamlcp
/usr/bin/ocamlcp.byte
/usr/bin/ocamlcp.opt
/usr/bin/ocamldebug
/usr/bin/ocamldep
/usr/bin/ocamldep.byte
/usr/bin/ocamldep.opt
/usr/bin/ocamllex
/usr/bin/ocamllex.byte
/usr/bin/ocamllex.opt
/usr/bin/ocamlmklib
/usr/bin/ocamlmklib.byte
/usr/bin/ocamlmklib.opt
/usr/bin/ocamlmktop
/usr/bin/ocamlmktop.byte
/usr/bin/ocamlmktop.opt
/usr/bin/ocamlobjinfo
/usr/bin/ocamlobjinfo.byte
/usr/bin/ocamlobjinfo.opt
/usr/bin/ocamlopt
/usr/bin/ocamlopt.byte
/usr/bin/ocamlopt.opt
/usr/bin/ocamloptp
/usr/bin/ocamloptp.byte
/usr/bin/ocamloptp.opt
/usr/bin/ocamlprof
/usr/bin/ocamlprof.byte
/usr/bin/ocamlprof.opt
/usr/bin/ocamlyacc
/usr/lib/.build-id
/usr/lib/.build-id/0a
/usr/lib/.build-id/0a/cf96d0a66cf3772ceff0817530ccba4d6eaaeb
/usr/lib/.build-id/23
/usr/lib/.build-id/23/3302c6016a6244e3629c2dc9032765c2dce687
/usr/lib/.build-id/24
/usr/lib/.build-id/24/6129ebfc10065cab8703040c5a8143b49c51e9
/usr/lib/.build-id/2a
/usr/lib/.build-id/2a/2f7b948a557da08301f0334d359b5d69162c4d
/usr/lib/.build-id/31
/usr/lib/.build-id/31/20bdc871b8575c1ec178bb6eff097c19a365ad
/usr/lib/.build-id/36
/usr/lib/.build-id/36/d437f35721f7d3730a3ef449985d037e00684f
/usr/lib/.build-id/39
/usr/lib/.build-id/39/28350c06a4cd602fd7555a38e4e5edb87e8997
/usr/lib/.build-id/52
/usr/lib/.build-id/52/01d66e76a36d1de8f1821c1aef871f577f0bec
/usr/lib/.build-id/66
/usr/lib/.build-id/66/3cb37ed35207c5c4a3946ac06fe60e3bd2b85b
/usr/lib/.build-id/6d
/usr/lib/.build-id/6d/fec3118ecae93bd58e11e93e88f88a4513b67b
/usr/lib/.build-id/89
/usr/lib/.build-id/89/ab9edab0dc304c9152eb00df502ca60b011025
/usr/lib/.build-id/a6
/usr/lib/.build-id/a6/61e5691964759f88b5d6f5b99f45bde6b292ba
/usr/lib/.build-id/a9
/usr/lib/.build-id/a9/4ffbd825acc4f0fc22026ae0aa34df4c51e6bc
/usr/lib/.build-id/c2
/usr/lib/.build-id/c2/9842fe0f05a2c0ea2076030f1eac9e0b7c3c38
/usr/lib/.build-id/cb
/usr/lib/.build-id/cb/08d208a108fe69d7a53633b7f1b987de3e9c40
/usr/lib/.build-id/cc
/usr/lib/.build-id/cc/37fbfbb1d0978a7198b69c32a8ff3bb75f8ac5
/usr/lib/.build-id/e1
/usr/lib/.build-id/e1/99a81b1fbda23a16ee8a4b69de3415b8cdc4e6
/usr/lib/.build-id/ef
/usr/lib/.build-id/ef/084f61f292d51ca08533f18a505ae211673c46
/usr/lib/.build-id/ef/15791d95ac97dc047e03f05bfc6e7acc1ae5c3
/usr/lib/.build-id/f7
/usr/lib/.build-id/f7/7f01388e1a283886d619f4b76080ebd7b29581
/usr/lib64/ocaml/Makefile.config
/usr/lib64/ocaml/arg.mli
/usr/lib64/ocaml/array.mli
/usr/lib64/ocaml/arrayLabels.mli
/usr/lib64/ocaml/bigarray.a
/usr/lib64/ocaml/bigarray.cmx
/usr/lib64/ocaml/bigarray.cmxa
/usr/lib64/ocaml/bigarray.cmxs
/usr/lib64/ocaml/bigarray.mli
/usr/lib64/ocaml/buffer.mli
/usr/lib64/ocaml/bytes.mli
/usr/lib64/ocaml/bytesLabels.mli
/usr/lib64/ocaml/callback.mli
/usr/lib64/ocaml/caml
/usr/lib64/ocaml/caml/address_class.h
/usr/lib64/ocaml/caml/alloc.h
/usr/lib64/ocaml/caml/backtrace.h
/usr/lib64/ocaml/caml/backtrace_prim.h
/usr/lib64/ocaml/caml/bigarray.h
/usr/lib64/ocaml/caml/callback.h
/usr/lib64/ocaml/caml/compact.h
/usr/lib64/ocaml/caml/compare.h
/usr/lib64/ocaml/caml/compatibility.h
/usr/lib64/ocaml/caml/config.h
/usr/lib64/ocaml/caml/custom.h
/usr/lib64/ocaml/caml/debugger.h
/usr/lib64/ocaml/caml/dynlink.h
/usr/lib64/ocaml/caml/exec.h
/usr/lib64/ocaml/caml/fail.h
/usr/lib64/ocaml/caml/finalise.h
/usr/lib64/ocaml/caml/fix_code.h
/usr/lib64/ocaml/caml/freelist.h
/usr/lib64/ocaml/caml/gc.h
/usr/lib64/ocaml/caml/gc_ctrl.h
/usr/lib64/ocaml/caml/globroots.h
/usr/lib64/ocaml/caml/hash.h
/usr/lib64/ocaml/caml/hooks.h
/usr/lib64/ocaml/caml/instrtrace.h
/usr/lib64/ocaml/caml/instruct.h
/usr/lib64/ocaml/caml/int64_emul.h
/usr/lib64/ocaml/caml/int64_format.h
/usr/lib64/ocaml/caml/int64_native.h
/usr/lib64/ocaml/caml/interp.h
/usr/lib64/ocaml/caml/intext.h
/usr/lib64/ocaml/caml/io.h
/usr/lib64/ocaml/caml/jumptbl.h
/usr/lib64/ocaml/caml/m.h
/usr/lib64/ocaml/caml/major_gc.h
/usr/lib64/ocaml/caml/md5.h
/usr/lib64/ocaml/caml/memory.h
/usr/lib64/ocaml/caml/minor_gc.h
/usr/lib64/ocaml/caml/misc.h
/usr/lib64/ocaml/caml/mlvalues.h
/usr/lib64/ocaml/caml/opnames.h
/usr/lib64/ocaml/caml/osdeps.h
/usr/lib64/ocaml/caml/prims.h
/usr/lib64/ocaml/caml/printexc.h
/usr/lib64/ocaml/caml/reverse.h
/usr/lib64/ocaml/caml/roots.h
/usr/lib64/ocaml/caml/s.h
/usr/lib64/ocaml/caml/signals.h
/usr/lib64/ocaml/caml/signals_machdep.h
/usr/lib64/ocaml/caml/socketaddr.h
/usr/lib64/ocaml/caml/spacetime.h
/usr/lib64/ocaml/caml/stack.h
/usr/lib64/ocaml/caml/stacks.h
/usr/lib64/ocaml/caml/startup.h
/usr/lib64/ocaml/caml/startup_aux.h
/usr/lib64/ocaml/caml/sys.h
/usr/lib64/ocaml/caml/threads.h
/usr/lib64/ocaml/caml/ui.h
/usr/lib64/ocaml/caml/unixsupport.h
/usr/lib64/ocaml/caml/version.h
/usr/lib64/ocaml/caml/weak.h
/usr/lib64/ocaml/camlheader
/usr/lib64/ocaml/camlheader_ur
/usr/lib64/ocaml/camlinternalFormat.cmx
/usr/lib64/ocaml/camlinternalFormat.mli
/usr/lib64/ocaml/camlinternalFormat.p.cmx
/usr/lib64/ocaml/camlinternalFormatBasics.cmx
/usr/lib64/ocaml/camlinternalFormatBasics.mli
/usr/lib64/ocaml/camlinternalFormatBasics.p.cmx
/usr/lib64/ocaml/camlinternalLazy.cmx
/usr/lib64/ocaml/camlinternalLazy.mli
/usr/lib64/ocaml/camlinternalLazy.p.cmx
/usr/lib64/ocaml/camlinternalMod.cmx
/usr/lib64/ocaml/camlinternalMod.mli
/usr/lib64/ocaml/camlinternalMod.p.cmx
/usr/lib64/ocaml/camlinternalOO.cmx
/usr/lib64/ocaml/camlinternalOO.mli
/usr/lib64/ocaml/camlinternalOO.p.cmx
/usr/lib64/ocaml/char.mli
/usr/lib64/ocaml/complex.mli
/usr/lib64/ocaml/condition.mli
/usr/lib64/ocaml/digest.mli
/usr/lib64/ocaml/dynlink.a
/usr/lib64/ocaml/dynlink.cmx
/usr/lib64/ocaml/dynlink.cmxa
/usr/lib64/ocaml/dynlink.mli
/usr/lib64/ocaml/ephemeron.mli
/usr/lib64/ocaml/event.mli
/usr/lib64/ocaml/expunge
/usr/lib64/ocaml/extract_crc
/usr/lib64/ocaml/filename.mli
/usr/lib64/ocaml/float.mli
/usr/lib64/ocaml/format.mli
/usr/lib64/ocaml/gc.mli
/usr/lib64/ocaml/genlex.mli
/usr/lib64/ocaml/graphics.a
/usr/lib64/ocaml/graphics.cmx
/usr/lib64/ocaml/graphics.cmxa
/usr/lib64/ocaml/graphics.cmxs
/usr/lib64/ocaml/graphics.mli
/usr/lib64/ocaml/graphicsX11.cmx
/usr/lib64/ocaml/hashtbl.mli
/usr/lib64/ocaml/int32.mli
/usr/lib64/ocaml/int64.mli
/usr/lib64/ocaml/lazy.mli
/usr/lib64/ocaml/ld.conf
/usr/lib64/ocaml/lexing.mli
/usr/lib64/ocaml/libasmrun.a
/usr/lib64/ocaml/libasmrun_pic.a
/usr/lib64/ocaml/libasmrun_shared.so
/usr/lib64/ocaml/libasmrund.a
/usr/lib64/ocaml/libasmruni.a
/usr/lib64/ocaml/libasmrunp.a
/usr/lib64/ocaml/libbigarray.a
/usr/lib64/ocaml/libcamlrun.a
/usr/lib64/ocaml/libcamlrun_pic.a
/usr/lib64/ocaml/libcamlrun_shared.so
/usr/lib64/ocaml/libcamlrund.a
/usr/lib64/ocaml/libcamlruni.a
/usr/lib64/ocaml/libcamlstr.a
/usr/lib64/ocaml/libgraphics.a
/usr/lib64/ocaml/libraw_spacetime_lib.a
/usr/lib64/ocaml/libthreads.a
/usr/lib64/ocaml/libthreadsnat.a
/usr/lib64/ocaml/libunix.a
/usr/lib64/ocaml/list.mli
/usr/lib64/ocaml/listLabels.mli
/usr/lib64/ocaml/map.mli
/usr/lib64/ocaml/marshal.mli
/usr/lib64/ocaml/moreLabels.mli
/usr/lib64/ocaml/mutex.mli
/usr/lib64/ocaml/nativeint.mli
/usr/lib64/ocaml/obj.mli
/usr/lib64/ocaml/objinfo_helper
/usr/lib64/ocaml/oo.mli
/usr/lib64/ocaml/parsing.mli
/usr/lib64/ocaml/printexc.mli
/usr/lib64/ocaml/printf.mli
/usr/lib64/ocaml/profiling.cmx
/usr/lib64/ocaml/profiling.o
/usr/lib64/ocaml/queue.mli
/usr/lib64/ocaml/random.mli
/usr/lib64/ocaml/raw_spacetime_lib.a
/usr/lib64/ocaml/raw_spacetime_lib.cmx
/usr/lib64/ocaml/raw_spacetime_lib.cmxa
/usr/lib64/ocaml/raw_spacetime_lib.cmxs
/usr/lib64/ocaml/raw_spacetime_lib.mli
/usr/lib64/ocaml/scanf.mli
/usr/lib64/ocaml/seq.mli
/usr/lib64/ocaml/set.mli
/usr/lib64/ocaml/sort.mli
/usr/lib64/ocaml/spacetime.mli
/usr/lib64/ocaml/stack.mli
/usr/lib64/ocaml/stdLabels.mli
/usr/lib64/ocaml/std_exit.cmx
/usr/lib64/ocaml/std_exit.o
/usr/lib64/ocaml/std_exit.p.cmx
/usr/lib64/ocaml/std_exit.p.o
/usr/lib64/ocaml/stdlib.a
/usr/lib64/ocaml/stdlib.cmx
/usr/lib64/ocaml/stdlib.cmxa
/usr/lib64/ocaml/stdlib.mli
/usr/lib64/ocaml/stdlib.p.a
/usr/lib64/ocaml/stdlib.p.cmx
/usr/lib64/ocaml/stdlib.p.cmxa
/usr/lib64/ocaml/stdlib__arg.cmx
/usr/lib64/ocaml/stdlib__arg.p.cmx
/usr/lib64/ocaml/stdlib__array.cmx
/usr/lib64/ocaml/stdlib__array.p.cmx
/usr/lib64/ocaml/stdlib__arrayLabels.cmx
/usr/lib64/ocaml/stdlib__arrayLabels.p.cmx
/usr/lib64/ocaml/stdlib__bigarray.cmx
/usr/lib64/ocaml/stdlib__bigarray.p.cmx
/usr/lib64/ocaml/stdlib__buffer.cmx
/usr/lib64/ocaml/stdlib__buffer.p.cmx
/usr/lib64/ocaml/stdlib__bytes.cmx
/usr/lib64/ocaml/stdlib__bytes.p.cmx
/usr/lib64/ocaml/stdlib__bytesLabels.cmx
/usr/lib64/ocaml/stdlib__bytesLabels.p.cmx
/usr/lib64/ocaml/stdlib__callback.cmx
/usr/lib64/ocaml/stdlib__callback.p.cmx
/usr/lib64/ocaml/stdlib__char.cmx
/usr/lib64/ocaml/stdlib__char.p.cmx
/usr/lib64/ocaml/stdlib__complex.cmx
/usr/lib64/ocaml/stdlib__complex.p.cmx
/usr/lib64/ocaml/stdlib__digest.cmx
/usr/lib64/ocaml/stdlib__digest.p.cmx
/usr/lib64/ocaml/stdlib__ephemeron.cmx
/usr/lib64/ocaml/stdlib__ephemeron.p.cmx
/usr/lib64/ocaml/stdlib__filename.cmx
/usr/lib64/ocaml/stdlib__filename.p.cmx
/usr/lib64/ocaml/stdlib__float.cmx
/usr/lib64/ocaml/stdlib__float.p.cmx
/usr/lib64/ocaml/stdlib__format.cmx
/usr/lib64/ocaml/stdlib__format.p.cmx
/usr/lib64/ocaml/stdlib__gc.cmx
/usr/lib64/ocaml/stdlib__gc.p.cmx
/usr/lib64/ocaml/stdlib__genlex.cmx
/usr/lib64/ocaml/stdlib__genlex.p.cmx
/usr/lib64/ocaml/stdlib__hashtbl.cmx
/usr/lib64/ocaml/stdlib__hashtbl.p.cmx
/usr/lib64/ocaml/stdlib__int32.cmx
/usr/lib64/ocaml/stdlib__int32.p.cmx
/usr/lib64/ocaml/stdlib__int64.cmx
/usr/lib64/ocaml/stdlib__int64.p.cmx
/usr/lib64/ocaml/stdlib__lazy.cmx
/usr/lib64/ocaml/stdlib__lazy.p.cmx
/usr/lib64/ocaml/stdlib__lexing.cmx
/usr/lib64/ocaml/stdlib__lexing.p.cmx
/usr/lib64/ocaml/stdlib__list.cmx
/usr/lib64/ocaml/stdlib__list.p.cmx
/usr/lib64/ocaml/stdlib__listLabels.cmx
/usr/lib64/ocaml/stdlib__listLabels.p.cmx
/usr/lib64/ocaml/stdlib__map.cmx
/usr/lib64/ocaml/stdlib__map.p.cmx
/usr/lib64/ocaml/stdlib__marshal.cmx
/usr/lib64/ocaml/stdlib__marshal.p.cmx
/usr/lib64/ocaml/stdlib__moreLabels.cmx
/usr/lib64/ocaml/stdlib__moreLabels.p.cmx
/usr/lib64/ocaml/stdlib__nativeint.cmx
/usr/lib64/ocaml/stdlib__nativeint.p.cmx
/usr/lib64/ocaml/stdlib__obj.cmx
/usr/lib64/ocaml/stdlib__obj.p.cmx
/usr/lib64/ocaml/stdlib__oo.cmx
/usr/lib64/ocaml/stdlib__oo.p.cmx
/usr/lib64/ocaml/stdlib__parsing.cmx
/usr/lib64/ocaml/stdlib__parsing.p.cmx
/usr/lib64/ocaml/stdlib__printexc.cmx
/usr/lib64/ocaml/stdlib__printexc.p.cmx
/usr/lib64/ocaml/stdlib__printf.cmx
/usr/lib64/ocaml/stdlib__printf.p.cmx
/usr/lib64/ocaml/stdlib__queue.cmx
/usr/lib64/ocaml/stdlib__queue.p.cmx
/usr/lib64/ocaml/stdlib__random.cmx
/usr/lib64/ocaml/stdlib__random.p.cmx
/usr/lib64/ocaml/stdlib__scanf.cmx
/usr/lib64/ocaml/stdlib__scanf.p.cmx
/usr/lib64/ocaml/stdlib__seq.cmx
/usr/lib64/ocaml/stdlib__seq.p.cmx
/usr/lib64/ocaml/stdlib__set.cmx
/usr/lib64/ocaml/stdlib__set.p.cmx
/usr/lib64/ocaml/stdlib__sort.cmx
/usr/lib64/ocaml/stdlib__sort.p.cmx
/usr/lib64/ocaml/stdlib__spacetime.cmx
/usr/lib64/ocaml/stdlib__spacetime.p.cmx
/usr/lib64/ocaml/stdlib__stack.cmx
/usr/lib64/ocaml/stdlib__stack.p.cmx
/usr/lib64/ocaml/stdlib__stdLabels.cmx
/usr/lib64/ocaml/stdlib__stdLabels.p.cmx
/usr/lib64/ocaml/stdlib__stream.cmx
/usr/lib64/ocaml/stdlib__stream.p.cmx
/usr/lib64/ocaml/stdlib__string.cmx
/usr/lib64/ocaml/stdlib__string.p.cmx
/usr/lib64/ocaml/stdlib__stringLabels.cmx
/usr/lib64/ocaml/stdlib__stringLabels.p.cmx
/usr/lib64/ocaml/stdlib__sys.cmx
/usr/lib64/ocaml/stdlib__sys.p.cmx
/usr/lib64/ocaml/stdlib__uchar.cmx
/usr/lib64/ocaml/stdlib__uchar.p.cmx
/usr/lib64/ocaml/stdlib__weak.cmx
/usr/lib64/ocaml/stdlib__weak.p.cmx
/usr/lib64/ocaml/str.a
/usr/lib64/ocaml/str.cmx
/usr/lib64/ocaml/str.cmxa
/usr/lib64/ocaml/str.cmxs
/usr/lib64/ocaml/str.mli
/usr/lib64/ocaml/stream.mli
/usr/lib64/ocaml/string.mli
/usr/lib64/ocaml/stringLabels.mli
/usr/lib64/ocaml/sys.mli
/usr/lib64/ocaml/thread.mli
/usr/lib64/ocaml/threadUnix.mli
/usr/lib64/ocaml/threads/condition.cmx
/usr/lib64/ocaml/threads/event.cmx
/usr/lib64/ocaml/threads/mutex.cmx
/usr/lib64/ocaml/threads/thread.cmx
/usr/lib64/ocaml/threads/threadUnix.cmx
/usr/lib64/ocaml/threads/threads.a
/usr/lib64/ocaml/threads/threads.cmxa
/usr/lib64/ocaml/topdirs.mli
/usr/lib64/ocaml/uchar.mli
/usr/lib64/ocaml/unix.a
/usr/lib64/ocaml/unix.cmx
/usr/lib64/ocaml/unix.cmxa
/usr/lib64/ocaml/unix.cmxs
/usr/lib64/ocaml/unix.mli
/usr/lib64/ocaml/unixLabels.cmx
/usr/lib64/ocaml/unixLabels.mli
/usr/lib64/ocaml/vmthreads/condition.mli
/usr/lib64/ocaml/vmthreads/event.mli
/usr/lib64/ocaml/vmthreads/libvmthreads.a
/usr/lib64/ocaml/vmthreads/mutex.mli
/usr/lib64/ocaml/vmthreads/thread.mli
/usr/lib64/ocaml/vmthreads/threadUnix.mli
/usr/lib64/ocaml/weak.mli
/usr/share/doc/ocaml
/usr/share/doc/ocaml/LICENSE

References

Summary

In this tutorial we learn how to install ocaml on Rocky Linux 8 using yum and dnf.