Installing Ocsigen, GODI in Slackware 13.37

Below are my notes for installing the Ocsigen 2.x series webserver (http://www.ocsigen.org) on
Slackware 13.37.  As far as I know, this is somewhat unusual--most OCaml/Ocsigen users seem to use Debian, and/or build Ocsigen
from source.  Moreover, the availability of the Ocsigen 2.x series packages in the Debian line of distributions is sketchy at times, so
in some cases it is advisable to apt-get install ocsigen and use the older, 1.3.x version.  (The benefits of doing so are 
repeatability and determinism--we can stand up an Ocsigen server relatively quickly and consistently using apt-get.)

To rectify the lack of Slack (that is to say, the lack of slackware packages for Ocsigen) one solution is to use GODI (http://www.camlicty.org),
a familiar build/packaging tool that does a great job of managing your various OCaml pacakges and dependencies.   Now that I'm confident in a repeatable process for installing the more recent versions of
Ocsigen, I'll be using Slackware exclusively and retiring my Debian systems.

The instructions below will give you an Ocsigen 2.x server running on Slackware 13.37.  With some modifications it will work on other slack versions as well.  

The build system being used is thus Linux Kernel 3.5.2 (gcc 4.4.5) and Slackware 13.37.  I'm using slapt-get (see here: http://software.jaos.org/).

Dependencies

Depending on your choice of install, you may not need all of these packages but my server install is somewhat minimal.  Some of these are used just to bootstrap GODI (see the instructions for 
installation, which is painless if you have the prerequisites.)  I'm using this source: 

ftp://ftp.slackware.com/pub/slackware/slackware-13.37/:OFFICIAL


 slapt-get --install gcc
 slapt-get --install binutils
 slapt-get --install binutils-devel
 slapt-get --install glibc
 slapt-get --install kernel-headers
 slapt-get --install libmpc
 slapt-get --install gmp
 slapt-get --install openssl-0.9.8x-i486-1_slack13.37
 slapt-get --install mpfr
 slapt-get --install zlib
 slapt-get --install glibc-solibs-2.13-i486-6_slack13.37
 slapt-get --install atk
 slapt-get --install gio
 slapt-get --install libgio

1.  You will also need to build/install libev (http://software.schmorp.de/pkg/libev). 
2.  You can *try* using the slack package for sqlite, but I had much better luck downloading and building my own http://sqlite.org/. 
(The precompiled package breaks any compilation using '-lsqlite3', with a series of 'libsqlite3.so: undefined reference to XXXX' errors)
3. Make sure your /etc/ld.so.conf includes the location of the sqlite libs, and run 'ldconfig' before proceeding. GODI Packages The 't'est option in GODI is very useful, and 98% of the time it will tell you if you have a missing dependency, or some library cannot be found. To save time during your installation, I usually select the package, hit the 't' option and make sure everything is in order, before I actually install. I also proceed one package at a time. In order, I installed the following: godi-react godi-ocaml-ssl godi-lwt (set GODI_LWT_GLIB = no) pango-1.28 zlib cryptokit tyxml godi-sqlite godi-ocaml-dbm camlzip (godi-zip) Next, create the user/group for the Ocsigen server (I used www-data:www-data). Setup a directory from which to serve static content, and change ownership to the appropriate user/group I place the configuration file someplace memorable, like '/etc/ocsigen/': ln -s /opt/godi/etc/ocsigenserver.conf /etc/ocsigen/ocsigenserver.conf ...At that point, you're ready to install the 'ocsigenserver' package, which ought to work straight out of the box. --------------------------------------------------------------------+--------------------------- The Dojo is Open! | GNU/Linux, Unix, Solaris ) info@opendojo.com | Operations, Sysadmin ) Lincoln, Nebraska | Performance Tuning ) --------------------------------------------------------------------+ System Programming ) | Backup/Restore ) +----------------------- back to main page