Lennart Augustsson reported a bug whereby some of your configuration instructions were ignored and the system proceeded to build >100MB of stuff! Enclosed is a shar file with a small patch to fix this. Also available from the usual archive sites. In case you missed the announcement, version 0.06 is a pre-release for hackers, porters, and enthusiasts. It is unlikely to be useful to someone just trying to get a Haskell program running. (I can recommend Lennart's HBC system for that :-) Will Partain #!/bin/sh # This is a shell archive (produced by shar 3.49) # To extract the files from this archive, save it to a file, remove # everything above the "!/bin/sh" line above, and type "sh file_name". # # made 03/30/1992 08:38 UTC by partain@tegua # Source directory /tmp_mnt/local/fp/src # # existing files will NOT be overwritten unless -c is specified # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 6257 -rw-rw-r-- ghc-0.06-patch-1 # # ============= ghc-0.06-patch-1 ============== if test -f 'ghc-0.06-patch-1' -a X"$1" != X"-c"; then echo 'x - skipping ghc-0.06-patch-1 (File already exists)' else echo 'x - extracting ghc-0.06-patch-1 (Text)' sed 's/:X//' << 'SHAR_EOF' > 'ghc-0.06-patch-1' && 1. Apply this patch with X X % cd top-of-your-GHC-world X % patch -p0 < this-patch-file X 2. Delete the file lib/split_hc. (If you've already built things X successfully, don't worry about this.) X 3. The main problem is that {lib,runtime}/Jmakefile were overriding X the chosen # of garbage collectors to compile for (with X JMAKE_DEFINES). So you would get a *lot* more than you bargained X for! X X If you've already tried building things & you only wanted the X two-space collector ("std" setup), just delete all the junk X associated with the other collectors. Something like this will X do: X X % cd top-of-GHC-world X % (cd lib; rm */*_1s.o */*_du.o */*_ap.o) X % (cd runtime; rm */*_1s.sun?.o */*_du.sun?.o */*_ap.sun?.o) X X (You get the idea...) In each of those directories, also do: X X % make Makefile X % make Makefile # yes, *twice* X 4. You won't hurt anything by spinning over the whole tree, thusly: X X % cd top-of-GHC-world X % make Makefile X % make Makefiles X % make depend X % make all X diff -rc1 /local/fp2/ghc-0.06/PATCHLEVEL ./PATCHLEVEL *** /local/fp2/ghc-0.06/PATCHLEVEL Fri Feb 14 12:03:55 1992 --- ./PATCHLEVEL Mon Mar 30 09:17:09 1992 *************** *** 1 **** ! The Glorious New Glasgow Haskell Compiler, version 0.06, patchlevel 0 --- 1 ---- ! The Glorious New Glasgow Haskell Compiler, version 0.06, patchlevel 1 diff -rc1 /local/fp2/ghc-0.06/compiler/Jmakefile ./compiler/Jmakefile *** /local/fp2/ghc-0.06/compiler/Jmakefile Fri Mar 27 19:19:41 1992 --- ./compiler/Jmakefile Sun Mar 29 13:57:24 1992 *************** *** 319,321 **** X HaskellCompileWithMoreHeap(deSugar/Match,5000000) ! HaskellCompileWithMoreHeap(main/Main,6500000) X HaskellCompileWithMoreHeap(prelude/AbsPrel,5000000) --- 319,321 ---- X HaskellCompileWithMoreHeap(deSugar/Match,5000000) ! HaskellCompileWithMoreHeap(main/Main,7000000) X HaskellCompileWithMoreHeap(prelude/AbsPrel,5000000) diff -rc1 /local/fp2/ghc-0.06/lib/Jmakefile ./lib/Jmakefile *** /local/fp2/ghc-0.06/lib/Jmakefile Fri Mar 20 16:12:57 1992 --- ./lib/Jmakefile Mon Mar 30 08:47:24 1992 *************** *** 32,34 **** X ! JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted X --- 32,34 ---- X ! /* JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted */ X *************** *** 57,58 **** --- 57,60 ---- X chmod a+x $@ + + ExtraStuffToClean( ./split_hc ) X diff -rc1 /local/fp2/ghc-0.06/lib/split_hc.prl ./lib/split_hc.prl *** /local/fp2/ghc-0.06/lib/split_hc.prl Fri Mar 27 08:41:49 1992 --- ./lib/split_hc.prl Sun Mar 29 14:28:33 1992 *************** *** 104,105 **** --- 104,106 ---- X print JMKF "\$(SRCS_HC_${f_base_fileonly}) : ${f_base}.hc\n"; + print JMKF "\t\$(RM) ${f_base}.jm \$(SRCS_HC_${f_base_fileonly})\n"; X print JMKF "\t./split_hc ${f_base}.hc\n\n"; *************** *** 107,109 **** X # ... and the "clean" line for it... ! print JMKF "ExtraStuffToClean( \$(SRCS_HC_${f_base_fileonly}) )\n"; X --- 108,110 ---- X # ... and the "clean" line for it... ! print JMKF "ExtraStuffToClean( \$(SRCS_HC_${f_base_fileonly}) ${f_base}.jm )\n"; X diff -rc1 /local/fp2/ghc-0.06/mkworld/AllProjects.tmpl ./mkworld/AllProjects.tmpl *** /local/fp2/ghc-0.06/mkworld/AllProjects.tmpl Wed Mar 25 13:04:25 1992 --- ./mkworld/AllProjects.tmpl Sun Mar 29 14:35:14 1992 *************** *** 136,138 **** X #ifndef InstBinFlags ! #define InstBinFlags -m 0555 InstOwner InstGroup InstFileFlags InstStrip X #endif --- 136,138 ---- X #ifndef InstBinFlags ! #define InstBinFlags -m 0755 InstOwner InstGroup InstFileFlags InstStrip X #endif *************** *** 143,145 **** X #ifndef InstScriptFlags ! #define InstScriptFlags -m 0555 InstOwner InstGroup InstFileFlags X #endif --- 143,145 ---- X #ifndef InstScriptFlags ! #define InstScriptFlags -m 0755 InstOwner InstGroup InstFileFlags X #endif *************** *** 146,148 **** X #ifndef InstLibFlags ! #define InstLibFlags -m 0444 InstOwner InstGroup InstFileFlags X #endif --- 146,148 ---- X #ifndef InstLibFlags ! #define InstLibFlags -m 0644 InstOwner InstGroup InstFileFlags X #endif *************** *** 149,151 **** X #ifndef InstDataLibFlags ! #define InstDataLibFlags -m 0444 InstOwner InstGroup InstFileFlags X #endif --- 149,151 ---- X #ifndef InstDataLibFlags ! #define InstDataLibFlags -m 0644 InstOwner InstGroup InstFileFlags X #endif *************** *** 152,154 **** X #ifndef InstIncFlags ! #define InstIncFlags -m 0444 InstOwner InstGroup InstFileFlags X #endif --- 152,154 ---- X #ifndef InstIncFlags ! #define InstIncFlags -m 0644 InstOwner InstGroup InstFileFlags X #endif *************** *** 155,157 **** X #ifndef InstDataFlags ! #define InstDataFlags -m 0444 InstOwner InstGroup InstFileFlags X #endif --- 155,157 ---- X #ifndef InstDataFlags ! #define InstDataFlags -m 0644 InstOwner InstGroup InstFileFlags X #endif *************** *** 158,160 **** X #ifndef InstManFlags ! #define InstManFlags -m 0444 InstOwner InstGroup InstFileFlags X #endif --- 158,160 ---- X #ifndef InstManFlags ! #define InstManFlags -m 0644 InstOwner InstGroup InstFileFlags X #endif diff -rc1 /local/fp2/ghc-0.06/runtime/Jmakefile ./runtime/Jmakefile *** /local/fp2/ghc-0.06/runtime/Jmakefile Wed Mar 18 19:10:06 1992 --- ./runtime/Jmakefile Mon Mar 30 09:11:39 1992 *************** *** 19,21 **** X ! JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted X --- 19,21 ---- X ! /* JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted */ X *************** *** 265,267 **** X AllTarget(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\ ! ExtraStuffToClean(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\ X objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a:: objlist @@\ --- 265,267 ---- X AllTarget(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\ ! ExtraStuffToClean(objlist objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\ X objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a:: objlist @@\ *************** *** 356,357 **** --- 356,358 ---- X */ + /* X ExtraStuffToBeVeryClean( $(SRCS_C) ) *************** *** 358,363 **** X ExtraStuffToBeVeryClean( $(STD_VERY_CLEAN) ) ! ! clean :: ! (cd objs-sun4; $(RM) *.o) ! (cd objs-sun3; $(RM) *.o) X --- 359,361 ---- X ExtraStuffToBeVeryClean( $(STD_VERY_CLEAN) ) ! */ X SHAR_EOF chmod 0664 ghc-0.06-patch-1 || echo 'restore of ghc-0.06-patch-1 failed' Wc_c="`wc -c < 'ghc-0.06-patch-1'`" test 6257 -eq "$Wc_c" || echo 'ghc-0.06-patch-1: original size 6257, current size' "$Wc_c" fi exit 0