.. -*- rst -*- .. -*- coding: utf-8 -*- ============================ A local repository for ocaml ============================ :date: 2013-05-23 :tags: ocaml :summary: |summary| :logo: static/images/ocaml/camel.jpg :slug: un-depot-local-pour-ocaml :lang: en .. figure:: |filename|/images/ocaml/camel_medium.jpg :figwidth: 150 :figclass: floatleft :alt: Pavement Image : `@Doug88888`_ (creativecommons_) .. _@Doug88888: http://www.flickr.com/photos/doug88888/3458057235/ .. _creativecommons: http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr |summary| .. |summary| replace:: Today, ocaml is obsolete in the debian packages : the most of the librairies are still linked with Ocaml3 althought Ocaml4 is out since almost a year. When we need to develop with Ocaml4, we have to recompile all the dependencies, but this implies to install them for the whole system. But we can use a local repository with some findlib configuration. Findlib is now a required tool for an Ocaml project compilation. Each application uses now findlib for searching the dependencies, and the linking phase. We first need to create a local configuration in wich we write where to find the packages : .. code-block:: bash destdir="/home/chimrod/ocaml/packages/" path="/home/chimrod/ocaml/packages/:/usr/local/lib/ocaml/4.00.1:/usr/lib/ocaml:/usr/lib/ocaml/METAS" :destdir: is the path where we want to install the newly compiled packages. :path: is the path list where to find the packages. Of course, you need to replace `/home/chimrod/` by your own installation path. It must be an absolute path. The path to this file can be saved with the shell environnement ; we just need to reference it in the `.bashrc` file : .. code-block:: bash export OCAMLFIND_CONF=/home/chimrod/ocaml/ocamlfind.conf That's now : each new package will now be installed in your packages directory, and the compilation will also look for this path for the required dependencies : you do not have to install the packages as root anymore.