Hello *, when building ghc 6.5 with ghc 6.4 and alex 2.0.1, the build fails as follows: make -C ghc/compiler stage=2 make[2]: Entering directory `/home/marte/fptools/ghc/compiler' ../../ghc/compiler/ghc-inplace -H16m -O -istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn -istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar -istage2/coreSyn -istage2/specialise -istage2/simplCore -istage2/stranal -istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main -istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen -istage2/ghci -Istage2 -DGHCI -package template-haskell -threaded -package readline -DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -IcodeGen -InativeGen -Iparser -package unix -package Cabal -ignore-package lang -recomp -Rghc-timing -H16M '-#include "hschooks.h"' -ignore-package ghc -fgenerics -funbox-strict-fields -c parser/Lexer.hs -o stage2/parser/Lexer.o -ohi stage2/parser/Lexer.hi parser/Lexer.x:578:10: lexical error in string/character literal at character '\955' <<ghc: 51822676 bytes, 5 GCs, 98216/98216 avg/max bytes residency (1 samples), 16M in use, 0.00 INIT (0.00 elapsed), 0.62 MUT (0.84 elapsed), 0.11 GC (0.13 elapsed) :ghc>> make[2]: *** [stage2/parser/Lexer.o] Error 1 make[2]: Leaving directory `/home/marte/fptools/ghc/compiler' make[1]: *** [stage2] Error 2 make[1]: Leaving directory `/home/marte/fptools' make: *** [bootstrap2] Error 2 Is this problem caused by alex? Michael
Michael Marte wrote:
Hello *,
when building ghc 6.5 with ghc 6.4 and alex 2.0.1, the build fails as follows:
make -C ghc/compiler stage=2 make[2]: Entering directory `/home/marte/fptools/ghc/compiler' ../../ghc/compiler/ghc-inplace -H16m -O -istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn -istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar -istage2/coreSyn -istage2/specialise -istage2/simplCore -istage2/stranal -istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main -istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen -istage2/ghci -Istage2 -DGHCI -package template-haskell -threaded -package readline -DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -IcodeGen -InativeGen -Iparser -package unix -package Cabal -ignore-package lang -recomp -Rghc-timing -H16M '-#include "hschooks.h"' -ignore-package ghc -fgenerics -funbox-strict-fields -c parser/Lexer.hs -o stage2/parser/Lexer.o -ohi stage2/parser/Lexer.hi
parser/Lexer.x:578:10: lexical error in string/character literal at character '\955' <<ghc: 51822676 bytes, 5 GCs, 98216/98216 avg/max bytes residency (1 samples), 16M in use, 0.00 INIT (0.00 elapsed), 0.62 MUT (0.84 elapsed), 0.11 GC (0.13 elapsed) :ghc>> make[2]: *** [stage2/parser/Lexer.o] Error 1 make[2]: Leaving directory `/home/marte/fptools/ghc/compiler' make[1]: *** [stage2] Error 2 make[1]: Leaving directory `/home/marte/fptools' make: *** [bootstrap2] Error 2
Is this problem caused by alex?
This is with a recently checked-out HEAD? I thought I fixed this problem. It isn't caused by Alex, the issue is that 6.4 didn't have the necessary Unicode functionality in its base package. The fix was to include it in the libcompat library when building GHC, but for some reason this appears not to be happening for you. Cheers, Simon
Simon Marlow wrote:
Michael Marte wrote:
Hello *,
when building ghc 6.5 with ghc 6.4 and alex 2.0.1, the build fails as follows:
make -C ghc/compiler stage=2 make[2]: Entering directory `/home/marte/fptools/ghc/compiler' ../../ghc/compiler/ghc-inplace -H16m -O -istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn -istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar -istage2/coreSyn -istage2/specialise -istage2/simplCore -istage2/stranal -istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main -istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen -istage2/ghci -Istage2 -DGHCI -package template-haskell -threaded -package readline -DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -IcodeGen -InativeGen -Iparser -package unix -package Cabal -ignore-package lang -recomp -Rghc-timing -H16M '-#include "hschooks.h"' -ignore-package ghc -fgenerics -funbox-strict-fields -c parser/Lexer.hs -o stage2/parser/Lexer.o -ohi stage2/parser/Lexer.hi
parser/Lexer.x:578:10: lexical error in string/character literal at character '\955' <<ghc: 51822676 bytes, 5 GCs, 98216/98216 avg/max bytes residency (1 samples), 16M in use, 0.00 INIT (0.00 elapsed), 0.62 MUT (0.84 elapsed), 0.11 GC (0.13 elapsed) :ghc>> make[2]: *** [stage2/parser/Lexer.o] Error 1 make[2]: Leaving directory `/home/marte/fptools/ghc/compiler' make[1]: *** [stage2] Error 2 make[1]: Leaving directory `/home/marte/fptools' make: *** [bootstrap2] Error 2
Is this problem caused by alex?
This is with a recently checked-out HEAD? I thought I fixed this problem. It isn't caused by Alex, the issue is that 6.4 didn't have the necessary Unicode functionality in its base package. The fix was to include it in the libcompat library when building GHC, but for some reason this appears not to be happening for you.
Yes, I synced my working copy of ghc 6.5 yesterday with darcs pull. Are there any requirements as to which exact version of ghc 6.4 I am supposed to use? I am using the plain 6.4 release but I am able to build the head of the 6.4 branch. BTW. Am I supposed to run configure after syncing the working copy and/or clean the source tree before issueing the make command? Michael
Michael Marte wrote:
Yes, I synced my working copy of ghc 6.5 yesterday with darcs pull. Are there any requirements as to which exact version of ghc 6.4 I am supposed to use? I am using the plain 6.4 release but I am able to build the head of the 6.4 branch.
BTW. Am I supposed to run configure after syncing the working copy and/or clean the source tree before issueing the make command?
The *safest* thing to do after pulling is to completely make clean, autoreconf, and build from scratch. You may be able to avoid being that drastic if you know what you're doing. There are quite a few dependencies in the GHC tree that aren't tracked explicitly, for practical reasons; for example, the build system doesn't know that when the .hi format changes you need to rebuild all your libraries. I suspect something is out of date in your case, but I'm not sure what. If you don't want to rebuild everything, you could try just rebuilding ghc/lib/compat, and then remove ghc/stage1/parser/Lexer.o, build stage 1, and then carry on with stage 2. Cheers, Simon
Simon Marlow wrote:
Michael Marte wrote:
Yes, I synced my working copy of ghc 6.5 yesterday with darcs pull. Are there any requirements as to which exact version of ghc 6.4 I am supposed to use? I am using the plain 6.4 release but I am able to build the head of the 6.4 branch.
BTW. Am I supposed to run configure after syncing the working copy and/or clean the source tree before issueing the make command?
The *safest* thing to do after pulling is to completely make clean, autoreconf, and build from scratch. You may be able to avoid being that drastic if you know what you're doing. There are quite a few dependencies in the GHC tree that aren't tracked explicitly, for practical reasons; for example, the build system doesn't know that when the .hi format changes you need to rebuild all your libraries.
I suspect something is out of date in your case, but I'm not sure what. If you don't want to rebuild everything, you could try just rebuilding ghc/lib/compat, and then remove ghc/stage1/parser/Lexer.o, build stage 1, and then carry on with stage 2.
Cheers, Simon
I did as you said (make clean; autoreconf; configure; make) but it didn't help; I get the same error as before. Michael
Michael Marte wrote:
I did as you said (make clean; autoreconf; configure; make) but it didn't help; I get the same error as before.
Ok, could you try this: $ size ghc/lib/compat/cbits/unicode.o $ size ghc/lib/compat/Compat/Unicode.o there should be some code in those modules if the build system is working properly. Cheers, Simon
Simon Marlow wrote:
Michael Marte wrote:
I did as you said (make clean; autoreconf; configure; make) but it didn't help; I get the same error as before.
Ok, could you try this:
$ size ghc/lib/compat/cbits/unicode.o $ size ghc/lib/compat/Compat/Unicode.o
there should be some code in those modules if the build system is working properly.
Cheers, Simon
Yes, there is code, i.e. the text segments are not empty. Michael
Michael Marte wrote:
Simon Marlow wrote:
Michael Marte wrote:
I did as you said (make clean; autoreconf; configure; make) but it didn't help; I get the same error as before.
Ok, could you try this:
$ size ghc/lib/compat/cbits/unicode.o $ size ghc/lib/compat/Compat/Unicode.o
there should be some code in those modules if the build system is working properly.
Cheers, Simon
Yes, there is code, i.e. the text segments are not empty.
I stared at the code some more, and I think I've found the problem and pushed a patch for it. You'll need to 'darcs pull', make in ghc/lib, rm ghc/compiler/stage1/parser/Lexer.o, make stage 1, and then make stage 2. Cheers, Simon
Simon Marlow wrote:
Michael Marte wrote:
Simon Marlow wrote:
Michael Marte wrote:
I did as you said (make clean; autoreconf; configure; make) but it didn't help; I get the same error as before.
Ok, could you try this:
$ size ghc/lib/compat/cbits/unicode.o $ size ghc/lib/compat/Compat/Unicode.o
there should be some code in those modules if the build system is working properly.
Cheers, Simon
Yes, there is code, i.e. the text segments are not empty.
I stared at the code some more, and I think I've found the problem and pushed a patch for it. You'll need to 'darcs pull', make in ghc/lib, rm ghc/compiler/stage1/parser/Lexer.o, make stage 1, and then make stage 2.
Cheers, Simon
Now I get the following error: GHC/PrimopWrappers.hs:565:20: Not in scope: `GHC.Prim.forkOn#' I think this problem may be releated to the other changes I pulled. Michael
Michael Marte wrote:
Now I get the following error:
GHC/PrimopWrappers.hs:565:20: Not in scope: `GHC.Prim.forkOn#'
I think this problem may be releated to the other changes I pulled.
You probably need to rebuild some stuff. If your stage 1 compiler is up to date, then remove libraries/base/GHC/Base.{o,hi} and build in libraries/base. That *should* be enough, but if not just 'make clean' in libraries/base. Cheers, Simon
Simon Marlow wrote:
Michael Marte wrote:
Now I get the following error:
GHC/PrimopWrappers.hs:565:20: Not in scope: `GHC.Prim.forkOn#'
I think this problem may be releated to the other changes I pulled.
You probably need to rebuild some stuff. If your stage 1 compiler is up to date, then remove libraries/base/GHC/Base.{o,hi} and build in libraries/base. That *should* be enough, but if not just 'make clean' in libraries/base.
Cheers, Simon
Finally, I succeeded to complete the build! (I had to rebuild from scratch.) Thank you very much, Michael
participants (2)
-
Michael Marte -
Simon Marlow