This isn't a bug; quite the opposite.  But I've been so common here in
my comments and reports that I really must report success.

With the last release, GHC 2.07 fully self-compiles on a Linux box.  I
first compiled it with 0.29 (as I have had to before), and then
compiled itself.  Where it always died before with a seg fault or some
other error, this time the compile went flawlessly.  It also works on
the projects that I am concerned with here.

For others, this may be old news.  To me, it is a major step.  I want
to offer my thanks and congratulations to the Glasgow team.  Way to
go!  Fantastic stuff!

The make system still leaves a bit to be desired; I append my comments
below, which I made while I was nursing the process through to
completion.  However, this should not conceal the basic fact of
success.  It is a footnote, and properly goes there.

Yea, team!!!

                                        Dave Barton <*>
                                        [EMAIL PROTECTED] )0(
                                        http://www.intermetrics.com/~dlb
----------------------------------------------------------------
Notes on installing GHC 2.07 on a Linux machine using ghc-0.29:

There are still problems with Happy in the build file.  The present
file attempts to compile happy with 0.29, and then crashes.  Fixed by
removing it from the ProjectsToBuild variable and adding it in later.
At least it got though "gmake boot" this time!

Moreover, there are problems with happy in "gmake install".  Even with
happy in the "ProjectsToBuild" variable, it did not install.  Since it
is a single binary, I just copied it by hand.  I include the line from
my "build.mk" file immediately following:

ProjectsToInstall += literate happy

One other problem: "gmake clean" dies with ten thousand "rmdir:
directory XXX non-empty".  I include the entire line of messages
below.  This is a real pain of a problem; it means that I have to
delete the fptools shadow directory in order to remake the compiler,
rather than just doing a make clean.

rmdir: ghc/ArrBase: Directory not empty
rmdir: ghc/ConcBase: Directory not empty
rmdir: ghc/GHCerr: Directory not empty
rmdir: ghc/GHCmain: Directory not empty
rmdir: ghc/IOBase: Directory not empty
rmdir: ghc/IOHandle: Directory not empty
rmdir: ghc/PackBase: Directory not empty
rmdir: ghc/PrelBase: Directory not empty
rmdir: ghc/PrelIO: Directory not empty
rmdir: ghc/PrelList: Directory not empty
rmdir: ghc/PrelNum: Directory not empty
rmdir: ghc/PrelRead: Directory not empty
rmdir: ghc/PrelTup: Directory not empty
rmdir: ghc/STBase: Directory not empty
rmdir: ghc/UnsafeST: Directory not empty
rmdir: required/Array: Directory not empty
rmdir: required/CPUTime: Directory not empty
rmdir: required/Char: Directory not empty
rmdir: required/Complex: Directory not empty
rmdir: required/Directory: Directory not empty
rmdir: required/IO: Directory not empty
rmdir: required/Ix: Directory not empty
rmdir: required/List: Directory not empty
rmdir: required/Locale: Directory not empty
rmdir: required/Maybe: Directory not empty
rmdir: required/Monad: Directory not empty
rmdir: required/Numeric: Directory not empty
rmdir: required/Prelude: Directory not empty
rmdir: required/Ratio: Directory not empty
rmdir: required/System: Directory not empty
rmdir: required/Time: Directory not empty
rmdir: glaExts/ByteArray: Directory not empty
rmdir: glaExts/Foreign: Directory not empty
rmdir: glaExts/GlaExts: Directory not empty
rmdir: glaExts/MutVar: Directory not empty
rmdir: glaExts/MutableArray: Directory not empty
rmdir: glaExts/ST: Directory not empty
rmdir: concurrent/Channel: Directory not empty
rmdir: concurrent/ChannelVar: Directory not empty
rmdir: concurrent/Concurrent: Directory not empty
rmdir: concurrent/Merge: Directory not empty
rmdir: concurrent/Parallel: Directory not empty
rmdir: concurrent/SampleVar: Directory not empty
rmdir: concurrent/Semaphore: Directory not empty

Files that needed more heap:

lib/ghc/PrelTup
lib/ghc/ArrBase
lib/ghc/PrelRead
lib/ghc/IoHandle
lib/required/IO
lib/required/Complex
lib/required/Time
hslibs/ghc/src/SocketPrim
hslibs/hbc/src/Number
hslibs/contrib/src/Cubic_Spline
hslibs/contrib/src/SetMap

Files that needed more heap with 2.07

ghc/compiler/rename/RnExpr

However, I also record final success; GHC 2.07 self-compiles.
Glorious!

Reply via email to