
Hello: I'm trying to run GHC in a mips-SGI-irix platform, more accurately Irix 6. The last binary version avalaible (ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/glasgow/) is for ghc-2.10 (ghc-2.10-mips-sgi-irix6.tar.gz) . In order to reach the actual ghc-5-XX step by step, I will start by porting ghc-3.02, ghc-4.08.... 1) Is it really ghc-2.10 the last version avalaible ? If any newer, where to get it from (Any other discussing group) ? I tried unsuccesfully to run the ghc-2.10 on a Irix6 . The mangler-phase seems to fail and aborts the process. I had been told that for newer ghc-versions I should rearrange the mangler to make GHC run, but I hoped the 2.10 binary version to run succesfull.
From a Unix-programmer external point of view ,(exclude STG or run-time dessigner scope) my empirical experience by running several versions (ghc-3.02,ghc-4.08 ) among different platforms ( sparc-sunos, i386-linux ) suggest me the next:
( I may be wrong or confused. My STG computation model is not very mature (Four months ) Enlightment would be acknowledged ) - Obtaining a succesfull image doesn't depend so much from the run time system implementation varying from ghc-[2345]-XX as from the gcc-mangler interface.(At least for "Hello world" programs, differ subtility from correctness in larger projects, where the run-time system takes more relevance )( Read next) - The mangler is closely bound to the gcc output. As a matter of versioning problem, when gcc goes upwards the mangler may not to operate correctly. Mangler reduces well for gcc-2.7.2.3 and fails for gcc-2.95.1 ( Test source: ghc-3.02 on both i386-linux and sparc-sun. both linked, but a faulty image was generetaed. The O.S sends the runtime a signal and aborted the program). - As a consequence of the previous point, the original idea for using C as a "transparent macro-assembler" among different platforms is now discussed again. In practical terms, not only the C compiler used (I have tried only GNU CC) but the compiler version may interfere the entire ghc-compiling process. This should be of special interest for making binary distributions (rpm, pkg...) The first time I ran the ghc-3.02 (installed from chack's rpm's ) on a i386-linux it failed. Reason: my Linux distribution installed the ghc-2.95.1. Reinstalling downwards the gcc to 2.7.2.3 solved the problem. Hence, 2) Should the binary versions be distributted with the specific gcc version attached ,like other compiler packets do (i.e Ada ) ? This would help to portability among different platforms, though C-compiler transparency would be compromised. Only Gcc should be used and specific version... Unless you want a normal user to hack the mangler piece... 3) Specific question: As a porter, I have two choices in order to make GHC run in a mips-SGI-irix platform... - To hack the mangler: discarded since I have no deep knowledge about how the mangler operates. :-| - To retrieve (from this mailing list) which a configuration was last used to make ghc-2.10 run on a mips-SGI-irix. Instead of rearrenge the mangler to match the environment, I will rearrange the environment to match the mangler. Which gcc version was the ghc-2.10 mangler designed for ? Or The highest gcc version the binary (ghc-2.10-mips-sgi-irix6.tar.gz) ran sucessfull last time : The gcc-2.95 seems to fail... 4)Once I have got it : should I install the GNU assembler for MIPS or use the propietary one ? This is because I have read the gcc modifies its output according to the asssembler to be used in the next step (--with-gnu-as in the configure ). Was this considered during the mangler dessign ? 5) I think once you have the final .o files, choice between GNU or propietary linker shouldn't matter grosso modo. True ? Cheers.