installing 5.02.2

Simon Marlow
Tue, 19 Mar 2002 11:15:47 -0000

> I am going to install  ghc-5.02.2 =20
> on certain  Linux  machine to which I have  ssh  access and=20
> permission to install  ghc-5.02.2  in my user directory
> (not a system user).

Then you need to get the normal .tar.gz binary bundle.  The RPMs will
only install in the system directories.

> The situation is as follows.
> It has  i386-unknown  (Pentium Pro II ...),  much of memory and disk.
> I am not sure, but it looks like it is under  RedHat-6.2, =20
> glibc-2.1.2.

The binary bundle was built on RedHat 6.2, so you should be fine.

> It has  ghc-4.04  installed in the system area.
> But it failed to link  Main.o  of the program  main =3D putStr =

Do you mean ghc-4.04 failed to link the program?  What was the error

> Probably,  Happy,  is not installed.

You don't need Happy to install binaries, only if you build from source
(and even then, building from a normal source distribution doesn't
require Happy because we provide the Happy-generated sources.  You might
need to tweak the configure script to avoid it complaining about a
missing Happy though.).

> Also I applied certain  ghc --make M =20
> on my Debian Linux machine with  ghc-5.02.2, =20
> scp -ed the  file to the target machine and unzipped it.
> And it cannot run there, some library not found, something of this
> sort.

This is to be expected - shared libraries are bound to differ between
the various flavours and versions of Linux distributions.

> Could the GHC installation experts guide me, please?
> What is easier in this situation, to install from source or=20
> from binary?

If it is a RedHat 6.2 (or close) system, then installing the .tar.gz
binary bundle should work fine.  If not, you may need to try to convince
the system admin to install an RPM package for you.

> How to install Happy for the first time?

There are various binaries of Happy.  If none of them work for you, then
Happy has to be built from source using GHC.  Happy isn't necessary for
building GHC from source.

> How to find out in a regular way the info about Linux system and=20
> libc version?

Try 'uname -a' & 'ls -l /lib/libc*'.