
I am going to install ghc-5.02.2
on certain Linux machine to which I have ssh access and 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, 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 = putStr "hello\n"
Do you mean ghc-4.04 failed to link the program? What was the error message?
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 on my Debian Linux machine with ghc-5.02.2, scp -ed the a.out.zip 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 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 libc version?
Try 'uname -a' & 'ls -l /lib/libc*'. Cheers, Simon