In order to compile and run MetaPRL you are going to need the following packages:
OCaml and Htmldoc are available as source, and RedHat 6.x, 7.x, 8.x and 9 RPM files for Linux x86. You can get the rpm2html listing of available RPMs and download them from http://rpm.nogin.org/ocaml.html and http://rpm.nogin.org/htmldoc.html respectively or a plain listing directly from http://rpmbin.nogin.org/MetaPRL/. If you are going to build OCaml yourself, you can get our patches at http://cvs.metaprl.org:12000/cvsweb/metaprl/patches/
You can download Ensemble from ftp://ftp.cs.cornell.edu/pub/ensemble/.
You should be able to download MetaPRL sources tarball from http://files.metaprl.org/, but if you plan to participate in MetaPRL development, you should consider using the CVS access to MetaPRL sources.
There is also a Win32 distribution that we have not placed online yet (if you want it, contact Jason Hickey). You will need the Cygnus Systems GNU-Win32 distribution.
You can browse the MetaPRL CVS repository.
If you plan any development in MetaPRL or if you want to download the latest version of MetaPRL, you may consider using the public CVS repository. This will allow you to have access to the latest changes in the distribution. The normal service is read-only, but if you would like to become a contributor with write access, read the read-write CVS instructions.
The CVS server is on the machine cvs.metaprl.org. First log into the server by running
The password is anoncvs. It will be stored on your computer, so you only have to run the login command once.% cvs -d :pserver:anoncvs@cvs.metaprl.org:/cvsroot login
Now you can checkout the distribution by running:
% cvs -d :pserver:anoncvs@cvs.metaprl.org:/cvsroot checkout MetaPRL
You can find more information on CVS from the CVS Documentation Pages and from The CVS Book.
If your are not using the provided RPMs, then in order to install OCaml and CamlP4 download and unpack the distributions, than apply the patches. After that, proceed as described in the INSTALL files in the distributions. If your OS supports pthreads, run OCaml configure script with -with-pthread option in order to get pthreads support in OCaml. After you have compiled and installed OCaml and Camlp4, go to the OCaml source tree and copy the following files:
To install Ensemble, unpack the distribution, and edit the <ensemble>/mk/config.mk file. You will want to use the Ensemble socket library (not the Unix socket implementation), then change directories to <ensemble>/def, and run make. You can also build the native-code libraries by running make in the <ensemble>/opt directory. More information on Ensemble is available at the Ensemble Home Page.
To install MetaPRL, unpack the distribution into some directory <metaprl> and build the distribution with these steps:
% cd <metaprl>
% make opt (builds native code, you need pthreads to be supported by your OS and compiled into OCaml)
or
% make all (builds bytecode)
After you run make for the first time, it will create the mk/config file (as well as an empty mk/config.local file) that you will need to customize, before the rest of the make process can go through. The mk/config file is self-documenting.
If you are using Ensemble, set ENSROOT=<root of the ensemble source tree> in the mk/config file.
You may need to set variables CAMLLIB and CAMLP4LIB to
point to the directories where you have installed OCaml and Camlp4 files. You
can either set them in the mk/config.local file, for example:
CAMLLIB=/usr/lib/ocaml
CAMLP4LIB=/usr/lib/ocaml/camlp4
or in the environment. If a variable is set in both,
mk/config.local takes precedence over the environment.
The defaults are /usr/lib/ocaml and /usr/lib/ocaml/camlp4
respectively.
To run the native code version of MetaPRL in an xterm with the correct fonts, use <metaprl>/editor/ml/mpxterm (normal fonts) or <metaprl>/editor/ml/mpxterm-large (larger font).
If starting MetaPRL by hands (or from Emacs), the programs to use are <metaprl>/editor/ml/mpopt (native code) and <metaprl>/editor/ml/mptop (bytecode). You will need to use a Unicode (iso10646-1) font to be able to interact with some sense. We currently recommend using the -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 font (wihich is what mpxterm script uses), but in some cases another font may work better.
That's it. To navigate the MetaPRL logics and programs, you will need to read the <metaprl>/editor/ml/QUICKSTART file or the User Guide. To start developing new code, read the Developer Guide.
If you want to use Htmldoc, download it from http://www.easysw.com/htmldoc/