In order to run the GUM-4.06 snapshot, or to build it from source, you need the configuration described below. RedHat 6.2 should work without change. For RedHat 7.1 and 7.2 the changes below are necessary. The important thing is to have a GCC < 2.92. By default RH 7.2 (and 7.1) have more recent GCCs and more recent GMP libraries. Depending on whether you have root permission on your machine you can directly install the right binary RPMs or build them from source. Binary installations of GCC etc (needs root permission): ======================================================== To install gmp2 as well as the already installed gmp3 you can do: rpm -ivh --force gmp-2.0.2-13.i386.rpm rpm -ivh --force gmp-devel-2.0.2-13.i386.rpm I'm now happily running --(ushas[147](2.05))-- rpm -qa | fgrep gmp gmp-devel-3.1.1-4 gmp-2.0.2-13 gmp-3.1.1-4 gmp-devel-2.0.2-13 Alas, you have to uninstall the default GCC (2.96 for RH7.2) to install the version you need for GUM: rpm -e gcc-c++-2.96-98 rpm -e gcc-2.96-98 rpm -e gcc-java-2.96-98 rpm -e gcc-objc-2.96-98 rpm -e gcc-g77-2.96-98 rpm -e gcc3-objc-3.0.1-3 rpm -e gcc-objc-2.96-98 rpm -e gcc-2.96-98 rpm -e compat-egcs-6.2-1.1.2.16 rpm -e compat-egcs-g77-6.2-1.1.2.16 rpm -e compat-egcs-c++-6.2-1.1.2.16 rpm -e compat-egcs-6.2-1.1.2.16 Then install the cpp version needed by egcs: rpm -e cpp-2.96-98 rpm -ivh cpp-1.1.2-30.i386.rpm Finally, you can install egcs: rpm -ivh egcs-1.1.2-30.i386.rpm Optionally, you could install the objc, java etc packages for egcs you nuked above, in case someone else needs them. GHC doesn't. I have uploaded the RPMs for the right GCC version on ftp://ftp.cee.hw.ac.uk/pub/gph/misc Source installations of GCC etc (no root permission needed): ============================================================= Download from ftp.cee.hw.ac.uk:pub/gph/misc: > egcs-1.1.2-BUILD.tgz > gmp-2.0.2.tar.gz > pvm3.4.4.tgz egcs is pre-built but must be configured and installed. gmp and pvm can be built directly from source and installed. For example (to install in ~/gnu): > PATH=~/gnu/bin:$PATH > tar xvfz egcs-1.1.2-BUILD.tgz > cd egcs-1.1.2 > ./configure --prefix=$HOME/gnu > make install > cd ../ > tar xvfz gmp-2.0.2.tar.gz > cd gmp-2.0.2 > ./configure --prefix=$HOME/gnu > make > make install > cd .. > tar xvfz pvm3.4.4.tgz > cd pvm3 > PVM_ROOT=$HOME/pvm3 > PVM_ARCH=`$PVM_ROOT/lib/pvmgetarch` > echo $PVM_ROOT > echo $PVM_ARCH > make > make install Now, download and unpack the snapshot and create a symbolic link into a directory in your path (for convenience only): > mkdir g-4.06 > mv gum-4.06-snap-i386-unknown-linux.tar g-4.06 > cd g-4.06 > tar xvf gum-4.06-snap-i386-unknown-linux.tar > ln -s ~/g-4.06/ghc/driver/ghc-inplace ~/bin/i386-unknown-linux/g-4.06 To make the installation directory known to GHC you have to execute the following command: > cat ghc/driver/ghc-inplace | sed "s,/usr/local2/DISTS/ghc-4.07,$PWD," > ghc/driver/ghc-inplace [ If the above command doesn't work, make the change by hand. In the top-level file of the compiler, search for the first occurence of TOP_PWD and replace its value, currently "/usr/local2/DISTS/ghc-4.07" with the root of your installation (in this example it is "~/g-4.06"): > emacs ~/g-4.06/ghc/driver/ghc-inplace ] Test it by compiling the usual parfib program, e.g. from /ftp@ftp.cee.hw.ac.uk:/pub/gph/gum-4.06-test-prgs.tgz: > cd ~/GPH/tmp/ > g-4.06 -cpp -parallel -fvia-C -fglasgow-exts -o pf parfib.hs > pvm > > add machine1 > > add machine2 > > add machine3 > > quit > ./pf 27 11 +RTS -qp4 -sstderr ==== SynchroniseSystem: nPEs=4 pfib 2711 = 635621 > PE 40007: Sparks: 0 created, 129 imported, 537 ignored; Threads: 22 created, 0 imported, 0 ignored See the general README and the User's Guide on how to generate profiles of the execution.