Ocsigen platform installation
Preliminary warning
Ocsigen is a set of software projects with some dependencies to some well-spread OCaml modules. We do not provide binary packages ourselves, as we can't support all versions of all operating systems and software distributions.
However many software distributions come with Ocsigen packages, and the following compiling instructions should work with very few changes on most Unix systems (Linux, MacOS, FreeBSD ...).
- If your distribution does not provide binary packages for Ocsigen, kindly tell the packagers of the distribution that you need these packages.
- If you need to modify the compilation scripts or Makefiles for your needs, please contribute your changes, so that they benefit everybody.
- If you can't solve your installation problems after a few hours, send an email on the Ocsigen mailing list. Someone will probably help you!
Call for contributors
We are looking for testers and/or packagers on MacOS, Debian stable, Ubuntu, RedHat, Mandriva, etc If someone wants to test and adapt for Microsoft Windows, we will be happy to includes her changes.
Binary distribution ¶
Ocsigen is available in some software distributions, e.g.:
If your distribution has all the packages you need, this is probably the simplest way to install Ocsigen software.
Source compilation ¶
If the latest version of Ocsigen is not available in your distribution or if you want to install a development version, you may compile the whole Ocsigen platform with one of the following techniques:
- Use the OPAM package manager (highly recommended!):
- Just install opam and do opam install eliom (or other packages). Be careful if you have several installaions of OCaml on your system (not recommended)
- If you want to use the development version of Ocsigen (only for beta testers):
- opam repository add opamocsigen http://ocsigen.org/opam
Other ways to install Ocsigen:
- The Ocsigen bundle (deprecated)
- The Godi source code distribution usually provides the latest Ocsigen releases. (probably not up to date)
- Downloads and compile each project individually. (good luck)
Individual source package ¶
The Ocsigen platform as a lot of dependencies, and building each project individually may be a long process. Here the consolidated list of dependencies in the order you may build them.
Consolidated dependencies
C libraries ¶
- libev: http://software.schmorp.de/pkg/libev.html
- gdbm: http://directory.fsf.org/project/gdbm/
- ncurses: http://invisible-island.net/ncurses/
- pcre3: http://www.pcre.org/
- openssl: http://www.openssl.org/
- sqlite3 (optionnal): http://www.sqlite.org/
- cairo (optional): http://www.cairographics.org/
On Debian based system:
sudo aptitude install libev-dev libgdbm-dev libncurses5-dev libpcre3-dev
libssl-dev libsqlite3-dev libcairo-ocaml-dev
OCaml libraries
- ocaml (>= 3.12): http://www.ocaml.org
- findlib : http://projects.camlcity.org/projects/findlib.html
- react: http://erratique.ch/software/react
- ocamlssl: http://sourceforge.net/projects/savonet/files/ocaml-ssl/
- pcre-ocaml: http://www.ocaml.info/home/ocaml_sources.html#pcre-ocaml
- ocamlnet: http://projects.camlcity.org/projects/ocamlnet.html
- cryptokit: http://pauillac.inria.fr/~xleroy/software.html#cryptokit
- ocaml-text: http://forge.ocamlcore.org/projects/ocaml-text/
- calendar: https://forge.ocamlcore.org/projects/calendar/
On Debian based system:
sudo aptitude install ocaml ocaml-compiler-libs
camlp4 camlp4-extra
ocaml-findlib libfindlib-ocaml-dev
libreact-ocaml-dev libssl-ocaml-dev libpcre-ocaml-dev
libcryptokit-ocaml-dev libtext-ocaml-dev
libcalendar-ocaml-dev libocamlnet-dev
Optionnal OCaml libraries
- ocamlsqlite3: http://www.ocaml.info/home/ocaml_sources.html#ocaml-sqlite3
- camlzip: http://pauillac.inria.fr/~xleroy/software.html#camlzip
- ocamlduce: https://forge.ocamlcore.org/projects/ocamlduce/
- type-conv: http://ocaml.janestreet.com/?q=node/13
On Debian based system:
sudo aptitude install libsqlite3-ocaml-dev libzip-ocaml-dev
libtype-conv-camlp4-dev ocamlduce
Build each projects separately
As this step, you may build the Ocsigen platform in this order:
- Lwt (enable at least ssl and react support)
- deriving-ocsigen
- Js_of_ocaml
- TyXML
- Ocsigen Server
- Eliom
Consolidated dependencies for Ocsimore
External C libraries
- linux-pam: http://www.kernel.org/pub/linux/libs/pam/
- postgresql: http://www.postgresql.org/
On Debian based system:
sudo aptitude install libpam0g-dev postgresql
External OCaml libraries
- extlib: http://code.google.com/p/ocaml-extlib/
- csv: https://forge.ocamlcore.org/projects/csv/
- pgocaml: http://pgocaml.berlios.de/
- ocamlpam: http://sharvil.nanavati.net/projects/ocamlpam/
On Debian based system:
sudo aptitude install libextlib-ocaml-dev libcsv-ocaml-dev libpgocaml-ocaml-dev libpam-ocaml-dev
