GHC 6.4 release candidates available (breakage on x86-64)
Brian Strand
bstrand at switchmanagement.com
Wed Mar 2 00:08:29 EST 2005
Donald Bruce Stewart wrote:
> bstrand:
>
>>Donald Bruce Stewart wrote:
>>
>>>bstrand:
>>>
>>>
>>>>Simon Marlow wrote:
>>>>
>>>>
>>>>>Just to let you know, there are a number of open bug reports for GHC on
>>>>>the x86_64 platform, which seem to indicate some kind of occasional
>>>>>memory/GC problem. I'm probably not going to be able to track this down
>>>>>until after the 6.4 release, but we'll put out a patch as soon as we
>>>>>have one.
>>>>
>>>>Here's an error building ghc-6.4.20050224ghc-6.4.20050224 via Anders'
>>>>Debian x86-64 ghc, although it doesn't look like a memory/GC problem to
>>>>my untrained eye:
>>>>
>>>>
>>>>==fptools== make boot - --no-print-directory -r;
>>>>in /home/bstrand/src/ghc-6.4.20050224/ghc/lib/compat
>>>>------------------------------------------------------------------------
>>>>../../../glafp-utils/mkdependC/mkdependC -f .depend -I../../includes
>>>>-- -O -- cbits/directory.c cbits/rawSystem.c
>>>>/usr/bin/ghc -M -optdep-f -optdep.depend -osuf o -H16m -O -H64m -O
>>>>-I. -Rghc-timing -I../../../libraries -fglasgow-exts -no-recomp
>>>>Compat/Directory.hs Compat/RawSystem.hs Distribution/Compat/ReadP.hs
>>>>Distribution/Extension.hs Distribution/GetOpt.hs
>>>>Distribution/InstalledPackageInfo.hs Distribution/License.hs
>>>>Distribution/Package.hs Distribution/ParseUtils.hs Distribution/Setup.hs
>>>>Distribution/Version.hs System/Directory/Internals.hs
>>>><<ghc: 15653112 bytes, 5 GCs, 73168/73168 avg/max bytes residency (1
>>>>samples), 63M in use, 0.00 INIT (0.00 elapsed), 0.12 MUT (5.14 elapsed),
>>>>0.03 GC (0.57 elapsed) :ghc>>
>>>>make all
>>>>rm -f System/Directory/Internals.o; if [ ! -d
>>>>System/Directory/Internals_split ]; then mkdir
>>>>System/Directory/Internals_split; else /usr/bin/find
>>>>System/Directory/Internals_split -name '*.o' -print | xargs rm -f
>>>>__rm_food; fi;
>>>>/usr/bin/ghc -H16m -O -H64m -O -I. -Rghc-timing -I../../../libraries
>>>>-fglasgow-exts -no-recomp -split-objs -c
>>>>System/Directory/Internals.hs-o System/Directory/Internals.o -ohi
>>>>System/Directory/Internals.hi
>>>>warning: don't know how to split object files on this architecture
>>>><<ghc: 76094368 bytes, 11 GCs, 2187736/4575048 avg/max bytes residency
>>>>(3 samples), 66M in use, 0.00 INIT (0.00 elapsed), 0.87 MUT (13.77
>>>>elapsed), 0.14 GC (1.40 elapsed) :ghc>>
>>>>( cd System/Directory/Internals_split; rm -f ld.script; touch ld.script;
>>>>echo "INPUT(" *.o ")" >>ld.script; /usr/bin/ld -r -x -o
>>>>../Internals.old.script; );
>>>>/usr/bin/ld:ld.script: file format not recognized; treating as linker
>>>>script
>>>>/usr/bin/ld:ld.script:1: syntax error
>>>>make[4]: *** [System/Directory/Internals.o] Error 1
>>>>make[3]: *** [boot] Error 2
>>>>make[2]: *** [boot] Error 1
>>>>make[1]: *** [boot] Error 1
>>>>make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/ghc'
>>>>make: *** [build] Error 1
>>>
>>>
>>>Can you try building with SplitObjs=NO ?
>>>
>>>Wolfgang, Ryan - that looks like a splitter problem, no?
>>>
>>>(The splitter is more of a dark art than the evil mangler, I propose we
>>>name it the "diabolical splitter" from now on.)
>>>
>>>-- Don
>>
>>Using SplitObjs=NO gives out many warnings then finally dies with:
>>
>>../../ghc/compiler/ghc-inplace -optc-O -optc-Wall -optc-W
>>-optc-Wstrict-prototypes -optc-Wmissing-prototypes
>>-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return
>>-optc-Wbad-function-cast -optc-I../includes -optc-I. -optc-Iparallel
>>-optc-DCOMPILING_RTS -optc-fomit-frame-pointer -H16m -O -H64m -O -O2
>>-static -I. -#include Prelude.h -#include Rts.h -#include RtsFlags.h
>>-#include RtsUtils.h -#include StgRun.h -#includeSchedule.h -#include
>>Printer.h -#include Sanity.h -#include STM.h -#include Storage.h
>>-#include SchedAPI.h -#include Timer.h -#include Itimer.h-#include
>>ProfHeap.h -#include LdvProfile.h -#include Profiling.h -#include
>>Apply.h -fvia-C -dcmm-lint -c StgCRun.c -o StgCRun.o
>>In file included from ../includes/Stg.h:149,
>> from StgCRun.c:67:
>>../includes/Regs.h:213: warning: call-clobbered register used for global
>>register variable
>>../includes/Regs.h:342: warning: call-clobbered register used for global
>>register variable
>>/tmp/ghc13908.s: Assembler messages:
>>/tmp/ghc13908.s:20: Error: suffix or operands invalid for `jmp'
>>make[2]: *** [StgCRun.o] Error 1
>>make[1]: *** [all] Error 1
>>make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/ghc'
>>make: *** [build] Error 1
>
>
> Are you building unregisterised? Those messages about global register
> variables (I think) imply that you are not -- and we haven't yet got
> x86_64 (terrible name, I much prefer amd64) registerised. Looks like you
> might even have found the point where registerisation breaks.
>
> Try building unregisterised:
> GhcUnregisterised=YES
>
> just as the .hc bootstrap compiler was built.
>
> -- Don
Well, I don't know much about how the bootstrap compiler was built (I
just downloaded it from
http://debian-amd64.alioth.debian.org/pure64/pool/unstable/main/amd64/g/ghc6/),
but building with GhcUnregisterised=YES and SplitObjs=NO died with:
==fptools== make all -wr;
in /home/bstrand/src/ghc-6.4.20050224/libraries/base
------------------------------------------------------------------------
../../ghc/compiler/ghc-inplace -H16m -O -H64m -O -fglasgow-exts -cpp
-Iinclude -"#include" HsBase.h -funbox-strict-fields -ignore-package
base -O -Rghc-timing -fgenerics -fgenerics -c GHC/Base.lhs -o
GHC/Base.o -ohi GHC/Base.hi
ghc-6.4.20050224: internal error: getMBlock: mmap: Invalid argument
Please report this as a bug to glasgow-haskell-bugs at haskell.org,
or http://www.sourceforge.net/projects/ghc/
make[2]: *** [GHC/Base.o] Error 254
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/libraries'
make: *** [build] Error 1
Brian
More information about the Glasgow-haskell-users
mailing list