I've built ghc previously and I assumed to keep it up to date I just did darcs pull followed by make but I got errors and according to the rebuilding instructions http://hackage.haskell.org/trac/ghc/wiki/Building/Rebuilding I shouldn't have done that. I therefore followed the instructions but got the following error. By the way darcs-pull all seemed to require a lot of manual intervention. Is there a way of getting the latest patches automatically and building overnight without intervention? Thanks, Dominic.
if ifBuildable/ifBuildable /home/dom/ghc/libraries/boot-packages editline; then \ cd editline && \ cmp -s /home/dom/ghc/libraries/Makefile.local Makefile.local || cp /home/dom/ghc/libraries/Makefile.local .; \ mv GNUmakefile GNUmakefile.tmp; \ setup/Setup makefile -f GNUmakefile; \ cmp -s GNUmakefile GNUmakefile.tmp && mv GNUmakefile.tmp GNUmakefile; \ make -wr && \ setup/Setup register --inplace; \ fi mv: cannot stat `GNUmakefile': No such file or directory Preprocessing library editline-0.2... In file included from Editline.hsc:52: include/HsEditline.h:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘v’ compiling dist/build/System/Console/Editline_hsc_make.c failed command was: gcc -c -D__GLASGOW_HASKELL__=609 -I/home/dom/ghc/includes -I/home/dom/ghc/gmp/gmpbuild -D__GLASGOW_HASKELL__=609 -Iinclude dist/build/System/Console/Editline_hsc_make.c -o dist/build/System/Console/Editline_hsc_make.o make[2]: Entering directory `/home/dom/ghc/libraries/editline' make[2]: *** No targets specified and no makefile found. Stop. make[2]: Leaving directory `/home/dom/ghc/libraries/editline' make[1]: *** [make.library.editline] Error 2 make[1]: Leaving directory `/home/dom/ghc/libraries' make: *** [stage1] Error 2
On 6/10/08, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
I've built ghc previously and I assumed to keep it up to date I just did
darcs pull
followed by
make
but I got errors and according to the rebuilding instructions http://hackage.haskell.org/trac/ghc/wiki/Building/Rebuilding I shouldn't have done that.
I therefore followed the instructions but got the following error.
It's probably best to do a "make distclean" at this point, then follow the building instructions.
By the way darcs-pull all seemed to require a lot of manual intervention. Is there a way of getting the latest patches automatically and building overnight without intervention?
./darcs-all pull -a will pull all patches without prompting you to ask whether you want to pull each patch, if that's what you mean. The following should pull patches and rebuild everything without manual intervention: ./darcs-all pull -a; sh boot; ./configure; make but YMMV. Cheers, Tim -- Tim Chevalier * http://cs.pdx.edu/~tjc * Often in error, never in doubt "Aristotle maintained that women have fewer teeth than men; although he was twice married, it never occurred to him to verify this statement by examining his wives' mouths." -- Bertrand Russell
On Tue, Jun 10, 2008 at 1:39 PM, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
I've built ghc previously and I assumed to keep it up to date I just did
darcs pull
followed by
make
but I got errors and according to the rebuilding instructions http://hackage.haskell.org/trac/ghc/wiki/Building/Rebuilding I shouldn't have done that.
I therefore followed the instructions but got the following error. By the way darcs-pull all seemed to require a lot of manual intervention. Is there a way of getting the latest patches automatically and building overnight without intervention?
Thanks, Dominic.
if ifBuildable/ifBuildable /home/dom/ghc/libraries/boot-packages editline; then \ cd editline && \ cmp -s /home/dom/ghc/libraries/Makefile.local Makefile.local || cp /home/dom/ghc/libraries/Makefile.local .; \ mv GNUmakefile GNUmakefile.tmp; \ setup/Setup makefile -f GNUmakefile; \ cmp -s GNUmakefile GNUmakefile.tmp && mv GNUmakefile.tmp GNUmakefile; \ make -wr && \ setup/Setup register --inplace; \ fi mv: cannot stat `GNUmakefile': No such file or directory Preprocessing library editline-0.2... In file included from Editline.hsc:52: include/HsEditline.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'v' compiling dist/build/System/Console/Editline_hsc_make.c failed command was: gcc -c -D__GLASGOW_HASKELL__=609 -I/home/dom/ghc/includes -I/home/dom/ghc/gmp/gmpbuild -D__GLASGOW_HASKELL__=609 -Iinclude dist/build/System/Console/Editline_hsc_make.c -o dist/build/System/Console/Editline_hsc_make.o make[2]: Entering directory `/home/dom/ghc/libraries/editline' make[2]: *** No targets specified and no makefile found. Stop. make[2]: Leaving directory `/home/dom/ghc/libraries/editline' make[1]: *** [make.library.editline] Error 2 make[1]: Leaving directory `/home/dom/ghc/libraries' make: *** [stage1] Error 2
From that error, I suspect you have a conflict in the editline package, and the compiler is barfing on the marker "vvvvvv" which is inserted by darcs. Strange...
If you weren't planning on hacking editline, it's probably easiest to just rm -rf the libraries/editline directory and do another "darcs-all get" to replace it with a consistent version. Otherwise, send me the darcs --changes of that repo and I can take a look at it. Hope that helps, -Judah
Judah Jacobson wrote:
On Tue, Jun 10, 2008 at 1:39 PM, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
I've built ghc previously and I assumed to keep it up to date I just did
From that error, I suspect you have a conflict in the editline package, and the compiler is barfing on the marker "vvvvvv" which is inserted by darcs. Strange...
If you weren't planning on hacking editline, it's probably easiest to just rm -rf the libraries/editline directory and do another "darcs-all get" to replace it with a consistent version. Otherwise, send me the darcs --changes of that repo and I can take a look at it.
Hope that helps, -Judah
Judah, Thanks for your help but now I'm getting a mismatch between ghc and ghc-pkg. I'm not sure how to fix this. Dominic.
Preprocessing library template-haskell-2.2... Generating Makefile template-haskell-2.2... make[2]: Entering directory `/home/dom/ghc/libraries/template-haskell' make[2]: Leaving directory `/home/dom/ghc/libraries/template-haskell' Registering template-haskell-2.2... Reading package info from "dist/inplace-pkg-config" ... done. Saving old package config file... done. Writing new package config file... done. rm -f -f stamp/configure.library.*.editline editline/unbuildable ../utils/mkdirhier/mkdirhier `dirname stamp/configure.library.build.editline` ( cd editline && setup/Setup configure --prefix=/NONEXISTENT --bindir=/NONEXIST ENT --libdir=/NONEXISTENT --libsubdir='$pkgid' --libexecdir=/NONEXISTENT --datad ir=/NONEXISTENT --docdir=/NONEXISTENT --haddockdir=/NONEXISTENT --htmldir=/NONEX ISTENT --with-compiler=/home/dom/ghc/compiler/stage1/ghc-inplace --with-hc-pkg=/ home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace --with-hsc2hs=/home/dom/ghc/utils/hsc 2hs/hsc2hs-inplace --with-ld=/usr/bin/ld --haddock-options="--use-contents=../in dex.html --use-index=../doc-index.html" --configure-option=--with-cc=gcc ) \ && touch stamp/configure.library.build.editline || touch editline/ unbuildable Warning: defaultUserHooks in Setup script is deprecated. Configuring editline-0.2... Setup: Version mismatch between ghc and ghc-pkg: /home/dom/ghc/compiler/stage1/ghc-inplace is version 6.9.20080606 /home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace is version 6.9.20080612 if ifBuildable/ifBuildable /home/dom/ghc/libraries/boot-packages editline; then \ cd editline && \ cmp -s /home/dom/ghc/libraries/Makefile.local Makefile.local || cp /ho me/dom/ghc/libraries/Makefile.local .; \ mv GNUmakefile GNUmakefile.tmp; \ setup/Setup makefile -f GNUmakefile; \ cmp -s GNUmakefile GNUmakefile.tmp && mv GNUmakefile.tmp GNUmakefile; \ make -wr && \ setup/Setup register --inplace; \ fi Warning: Package is unbuildable rm -f -f stamp/configure.library.*.Cabal Cabal/unbuildable ../utils/mkdirhier/mkdirhier `dirname stamp/configure.library.build.Cabal` ( cd Cabal && setup/Setup configure --prefix=/NONEXISTENT --bindir=/NONEXISTENT --libdir=/NONEXISTENT --libsubdir='$pkgid' --libexecdir=/NONEXISTENT --datadir= /NONEXISTENT --docdir=/NONEXISTENT --haddockdir=/NONEXISTENT --htmldir=/NONEXIST ENT --with-compiler=/home/dom/ghc/compiler/stage1/ghc-inplace --with-hc-pkg=/hom e/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace --with-hsc2hs=/home/dom/ghc/utils/hsc2hs /hsc2hs-inplace --with-ld=/usr/bin/ld --haddock-options="--use-contents=../index .html --use-index=../doc-index.html" --configure-option=--with-cc=gcc ) \ && touch stamp/configure.library.build.Cabal || touch Cabal/unbuil dable Configuring Cabal-1.5.1... Setup: Version mismatch between ghc and ghc-pkg: /home/dom/ghc/compiler/stage1/ghc-inplace is version 6.9.20080606 /home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace is version 6.9.20080612 if ifBuildable/ifBuildable /home/dom/ghc/libraries/boot-packages Cabal; then \ cd Cabal && \ cmp -s /home/dom/ghc/libraries/Makefile.local Makefile.local || cp /ho me/dom/ghc/libraries/Makefile.local .; \ mv GNUmakefile GNUmakefile.tmp; \ setup/Setup makefile -f GNUmakefile; \ cmp -s GNUmakefile GNUmakefile.tmp && mv GNUmakefile.tmp GNUmakefile; \ make -wr && \ setup/Setup register --inplace; \ fi mv: cannot stat `GNUmakefile': No such file or directory Setup: Run the 'configure' command first. make[2]: Entering directory `/home/dom/ghc/libraries/Cabal' ./setup configure --with-compiler=ghc --prefix=/usr/local make[2]: execvp: ./setup: Permission denied make[2]: *** [dist/setup-config] Error 127 make[2]: Leaving directory `/home/dom/ghc/libraries/Cabal' make[1]: *** [make.library.Cabal] Error 2 make[1]: Leaving directory `/home/dom/ghc/libraries' make: *** [stage1] Error 2
On Thu, Jun 12, 2008 at 1:15 PM, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
Judah Jacobson wrote:
If you weren't planning on hacking editline, it's probably easiest to just rm -rf the libraries/editline directory and do another "darcs-all get" to replace it with a consistent version. Otherwise, send me the darcs --changes of that repo and I can take a look at it.
Thanks for your help but now I'm getting a mismatch between ghc and ghc-pkg. I'm not sure how to fix this.
Dominic.
Preprocessing library template-haskell-2.2... Generating Makefile template-haskell-2.2... make[2]: Entering directory `/home/dom/ghc/libraries/template-haskell' make[2]: Leaving directory `/home/dom/ghc/libraries/template-haskell' Registering template-haskell-2.2... Reading package info from "dist/inplace-pkg-config" ... done. Saving old package config file... done. Writing new package config file... done. rm -f -f stamp/configure.library.*.editline editline/unbuildable ../utils/mkdirhier/mkdirhier `dirname stamp/configure.library.build.editline` ( cd editline && setup/Setup configure --prefix=/NONEXISTENT --bindir=/NONEXIST ENT --libdir=/NONEXISTENT --libsubdir='$pkgid' --libexecdir=/NONEXISTENT --datad ir=/NONEXISTENT --docdir=/NONEXISTENT --haddockdir=/NONEXISTENT --htmldir=/NONEX ISTENT --with-compiler=/home/dom/ghc/compiler/stage1/ghc-inplace --with-hc-pkg=/ home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace --with-hsc2hs=/home/dom/ghc/utils/hsc 2hs/hsc2hs-inplace --with-ld=/usr/bin/ld --haddock-options="--use-contents=../in dex.html --use-index=../doc-index.html" --configure-option=--with-cc=gcc ) \ && touch stamp/configure.library.build.editline || touch editline/ unbuildable Warning: defaultUserHooks in Setup script is deprecated. Configuring editline-0.2... Setup: Version mismatch between ghc and ghc-pkg: /home/dom/ghc/compiler/stage1/ghc-inplace is version 6.9.20080606 /home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace is version 6.9.20080612
From the above error, I suspect that you need to run "make distclean" in the root of the source tree, then try building again. (I usually run that command every time before/after pulling from darcs.)
Let me know if that helps, -Judah
Configuring editline-0.2... Setup: Version mismatch between ghc and ghc-pkg: /home/dom/ghc/compiler/stage1/ghc-inplace is version 6.9.20080606 /home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace is version 6.9.20080612
From the above error, I suspect that you need to run "make distclean" in the root of the source tree, then try building again. (I usually run that command every time before/after pulling from darcs.)
Let me know if that helps, -Judah
Ok but doesn't that rebuild everything not just the bits that have changed? BTW it's still running. Dominic.
This is becoming a bit of an odyssey ("a series of vicissitudes"). I now get a bug in ghc. Should I report it? Dominic.
/home/dom/ghc/compiler/stage1/ghc-inplace -package-name ndp-0.2 -hide-all-packag es -i -idist/build -i. -idist/build/autogen -Idist/build -Iinclude -odir dist/bu ild -hidir dist/build -stubdir dist/build -package array-0.1 -package base-3.0 - package ghc-prim-0.1 -package random-1.0 -O -O2 -funbox-strict-fields -fdicts-ch eap -fno-method-sharing -fno-spec-constr-threshold -fmax-simplifier-iterations10 -haddock -fcpr-off -package-name ndp -XTypeFamilies -XGADTs -XRankNTypes -XBang Patterns -XMagicHash -XUnboxedTuples -XTypeOperators -idist/build -H32m -O2 -fa sm -Rghc-timing -O -fgenerics -c Data/Array/Parallel/Base/Rebox.hs -o dist/buil d/Data/Array/Parallel/Base/Rebox.o -ohi dist/build/Data/Array/Parallel/Base/Reb ox.hi WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file coreSyn/CoreSubst.lhs line 182 CoreSubst.lookupIdSubst dseq{v sk4} [lid] WARNING: file coreSyn/CoreSubst.lhs line 182 CoreSubst.lookupIdSubst rebox{v sk5} [lid] WARNING: file coreSyn/CoreSubst.lhs line 182 CoreSubst.lookupIdSubst dseq{v sjY} [lid] WARNING: file coreSyn/CoreSubst.lhs line 182 CoreSubst.lookupIdSubst rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] WARNING: file stgSyn/CoreToStg.lhs line 217 ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] ghc-6.9.20080612: panic! (the 'impossible' happened) (GHC version 6.9.20080612 for i386-unknown-linux): ASSERT failed! file stgSyn/CoreToStg.lhs line 184 ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] \ (@ a{tv ae0} [sk] :: ghc-prim:GHC.Prim.*{(w) tc 34d}) -> ndp:Data.Array.Parallel.Base.Rebox.:DRebox{v rf4} [gid] @ (<nt>ndp:Data.Array.Parallel.Base.Rebox.Box{tc rdA} a{tv ae0} [sk]) (rebox{v sjZ} [lid] @ a{tv ae0} [sk]) (dseq{v sjY} [lid] @ a{tv ae0} [sk]) ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] = NO_CCS ndp:Data.Array.Parallel.Base.Rebox.:DRebox{d reZ}! [rebox{v sjZ} [lid ] dseq{v sjY} [lid] ];
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
<<ghc: 100165388 bytes, 7 GCs, 104448/110592 avg/max bytes residency (2 samples) , 35M in use, 0.00 INIT (0.00 elapsed), 0.22 MUT (0.25 elapsed), 0.02 GC (0.02 e lapsed) :ghc>> make[2]: *** [dist/build/Data/Array/Parallel/Base/Rebox.o] Error 1 make[2]: Leaving directory `/home/dom/ghc/libraries/ndp' make[1]: *** [make.library.ndp] Error 2 make[1]: Leaving directory `/home/dom/ghc/libraries' make: *** [stage1] Error 2
On Thu, Jun 12, 2008 at 2:04 PM, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
This is becoming a bit of an odyssey ("a series of vicissitudes"). I now get a bug in ghc. Should I report it?
[snip error building ndp]
This does seem worth reporting. There seem to be other outstanding bugs when building ndp, such as: http://hackage.haskell.org/trac/ghc/ticket/2355 I would suggest just renaming libraries/ndp to libraries/ndp-1 for now (to hide it from the build system). That library is pretty cutting-edge and isn't critical to a build. (But I eagerly await its completion; data parallel Haskell is great stuff!) -Judah
Sorry about this -- it's my fault. I did validate a fix to the desugarer, but ndp isn't part of 'validate'. Turns out that the change to the desugarer provoked quite subtle and longstanding bug in the simplifier. To get rolling again, use -fno-ds-multi-tyvar. Or just don't compile NDP. I'll commit a patch shortly. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell- | users-bounces@haskell.org] On Behalf Of Dominic Steinitz | Sent: 12 June 2008 22:05 | To: Judah Jacobson | Cc: glasgow-haskell-users@haskell.org | Subject: Re: Rebuilding ghc | | This is becoming a bit of an odyssey ("a series of vicissitudes"). I now | get a bug in ghc. Should I report it? | | Dominic. | | > /home/dom/ghc/compiler/stage1/ghc-inplace -package-name ndp-0.2 -hide-all- | packag | > es -i -idist/build -i. -idist/build/autogen -Idist/build -Iinclude -odir | dist/bu | > ild -hidir dist/build -stubdir dist/build -package array-0.1 -package base- | 3.0 - | > package ghc-prim-0.1 -package random-1.0 -O -O2 -funbox-strict-fields - | fdicts-ch | > eap -fno-method-sharing -fno-spec-constr-threshold -fmax-simplifier- | iterations10 | > -haddock -fcpr-off -package-name ndp -XTypeFamilies -XGADTs -XRankNTypes - | XBang | > Patterns -XMagicHash -XUnboxedTuples -XTypeOperators -idist/build -H32m - | O2 -fa | > sm -Rghc-timing -O -fgenerics -c Data/Array/Parallel/Base/Rebox.hs -o | dist/buil | > d/Data/Array/Parallel/Base/Rebox.o -ohi | dist/build/Data/Array/Parallel/Base/Reb | > ox.hi | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file coreSyn/CoreSubst.lhs line 182 | > CoreSubst.lookupIdSubst dseq{v sk4} [lid] | > WARNING: file coreSyn/CoreSubst.lhs line 182 | > CoreSubst.lookupIdSubst rebox{v sk5} [lid] | > WARNING: file coreSyn/CoreSubst.lhs line 182 | > CoreSubst.lookupIdSubst dseq{v sjY} [lid] | > WARNING: file coreSyn/CoreSubst.lhs line 182 | > CoreSubst.lookupIdSubst rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sjZ} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sjY} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 rebox{v sk5} [lid] | > WARNING: file simplCore/SimplEnv.lhs line 470 dseq{v sk4} [lid] | > WARNING: file stgSyn/CoreToStg.lhs line 217 | > ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] | > ghc-6.9.20080612: panic! (the 'impossible' happened) | > (GHC version 6.9.20080612 for i386-unknown-linux): | > ASSERT failed! file stgSyn/CoreToStg.lhs line 184 | > ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] | > \ (@ a{tv ae0} [sk] :: ghc-prim:GHC.Prim.*{(w) tc 34d}) -> | > ndp:Data.Array.Parallel.Base.Rebox.:DRebox{v rf4} [gid] | > @ (<nt>ndp:Data.Array.Parallel.Base.Rebox.Box{tc rdA} | > a{tv ae0} [sk]) | > (rebox{v sjZ} [lid] @ a{tv ae0} [sk]) | > (dseq{v sjY} [lid] @ a{tv ae0} [sk]) | > ndp:Data.Array.Parallel.Base.Rebox.$f2{v rfZ} [gid] = | > NO_CCS ndp:Data.Array.Parallel.Base.Rebox.:DRebox{d reZ}! [rebox{v sjZ} | [lid ] | > dseq{v sjY} | [lid] ]; | > | > Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug | > | > <<ghc: 100165388 bytes, 7 GCs, 104448/110592 avg/max bytes residency (2 | samples) , 35M in | use, 0.00 INIT (0.00 elapsed), 0.22 MUT (0.25 elapsed), 0.02 GC (0.02 e | lapsed) :ghc>> | > make[2]: *** [dist/build/Data/Array/Parallel/Base/Rebox.o] Error 1 | > make[2]: Leaving directory `/home/dom/ghc/libraries/ndp' | > make[1]: *** [make.library.ndp] Error 2 | > make[1]: Leaving directory `/home/dom/ghc/libraries' | > make: *** [stage1] Error 2 | | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Simon Peyton-Jones wrote:
Sorry about this -- it's my fault. I did validate a fix to the desugarer, but ndp isn't part of 'validate'. Turns out that the change to the desugarer provoked quite subtle and longstanding bug in the simplifier.
To get rolling again, use -fno-ds-multi-tyvar. Or just don't compile NDP. I'll commit a patch shortly.
The reason I'm compiling rather than installing is because I want to use NDP. Where do I put -fno-ds-multi-tyvar so that the build system knows to use it? I'm going to try build.mk. Ok that didn't work and I couldn't find anything about -fno-ds-multi-tyvar in the documentation. Thanks, Dominic.
../utils/mkdependC/mkdependC -f .depend -I. -Iinclude -I../includes -- -O -I. -Iinclude -D__GHC_PATCHLEVEL__=20080517 -I../libraries/base/cbits -I../libraries/base/include -- cbits/directory.c cbits/rawSystem.c cbits/unicode.c /usr/local/bin/ghc -M -optdep-f -optdep.depend -osuf o -H32m -O2 -fasm -Rghc-timing -fno-ds-multi-tyvar -w -I. -Iinclude -Rghc-timing -O0 -W -package directory -package pretty -I../libraries -fglasgow-exts -no-recomp Compat/Unicode.hs Distribution/Compat/Exception.hs Distribution/Compat/ReadP.hs Distribution/Compat/TempFile.hs Distribution/Compiler.hs Distribution/GetOpt.hs Distribution/InstalledPackageInfo.hs Distribution/License.hs Distribution/Package.hs Distribution/ParseUtils.hs Distribution/ReadE.hs Distribution/Simple/Program.hs Distribution/Simple/Utils.hs Distribution/System.hs Distribution/Text.hs Distribution/Verbosity.hs Distribution/Version.hs Language/Haskell/Extension.hs System/FilePath.hs System/FilePath/Posix.hs System/FilePath/Windows.hs Trace/Hpc/Mix.hs Trace/Hpc/Tix.hs Trace/Hpc/Util.hs ghc-6.9.20080517: unrecognised flags: -fno-ds-multi-tyvar Usage: For basic information, try the `--help' option. <<ghc: 20972540 bytes, 3 GCs, 147456/147456 avg/max bytes residency (1 samples), 31M in use, 0.00 INIT (0.00 elapsed), 0.03 MUT (0.04 elapsed), 0.01 GC (0.01 elapsed) :ghc>> make[1]: *** [depend] Error 1 make: *** [stage1] Error 1
| Where do I put -fno-ds-multi-tyvar so that the build system knows to use | it? I'm going to try build.mk. | | Ok that didn't work and I couldn't find anything about | -fno-ds-multi-tyvar in the documentation. Yes, in GhcLibHcOpts in build.mk is a good place. The flag isn't documented because it's a debug-only flag that I threw in so that I can measure the effect of this particular desugaring change. It's not really intended for users -- hard to explain just what it does. In any case I'm just about to push a patch which fixes the original problem and makes the flag unnecessary for your purposes. | The reason I'm compiling rather than installing is because I want to use | NDP. Great! I'm copying Roman, Gabi, and Manuel so they know you're doing this. Much of GHC is very stable but NDP emphatically isn't. We're working hard on it, the code is changing a lot, so you may well get short-lived build difficulties. So do have a go, but show us your code, and keep us in touch with what happens. Simon
Simon Peyton-Jones wrote:
| Where do I put -fno-ds-multi-tyvar so that the build system knows to use | it? I'm going to try build.mk. | | Ok that didn't work and I couldn't find anything about | -fno-ds-multi-tyvar in the documentation.
Yes, in GhcLibHcOpts in build.mk is a good place. The flag isn't documented because it's a debug-only flag that I threw in so that I can measure the effect of this particular desugaring change. It's not really intended for users -- hard to explain just what it does.
In any case I'm just about to push a patch which fixes the original problem and makes the flag unnecessary for your purposes.
Thanks. I put the flag in the right place and got further but see below. Dominic. PS I appreciate all the help I'm getting.
../compiler/ghc-inplace -H32m -O2 -fasm -Rghc-timing -optc-O2 -I../includes -I. -Iparallel -Ism -DCOMPILING_RTS -package-name rts -fvia-C -static -I../gmp/gmp uild -I../libffi/build/include -I. -dcmm-lint -c PrimOps.cmm -o PrimOps.o PrimOps.cmm:945:0: unknown macro: RET_NNNN <<ghc: 53221772 bytes, 4 GCs, 102400/102400 avg/max bytes residency (1 samples) 32M in use, 0.00 INIT (0.00 elapsed), 0.09 MUT (0.13 elapsed), 0.01 GC (0.01 e apsed) :ghc>> make[1]: *** [PrimOps.o] Error 1 make: *** [stage1] Error 1
On Mon, Jun 16, 2008 at 08:12:49AM +0100, Dominic Steinitz wrote:
Thanks. I put the flag in the right place and got further but see below.
../compiler/ghc-inplace -H32m -O2 -fasm -Rghc-timing -optc-O2 -I../includes -I. -Iparallel -Ism -DCOMPILING_RTS -package-name rts -fvia-C -static -I../gmp/gmp uild -I../libffi/build/include -I. -dcmm-lint -c PrimOps.cmm -o PrimOps.o PrimOps.cmm:945:0: unknown macro: RET_NNNN
RET_NNNN is a relatively recent addition to compiler/cmm/CmmParse.y by the patch [Fix conversions between Double/Float and simple-integer Ian Lynagh <igloo@earth.li>**20080614152337] { I suspect that for some reason something didn't rebuild properly after you pulled that patch. Thanks Ian
Ian Lynagh wrote:
On Mon, Jun 16, 2008 at 08:12:49AM +0100, Dominic Steinitz wrote:
Thanks. I put the flag in the right place and got further but see below.
../compiler/ghc-inplace -H32m -O2 -fasm -Rghc-timing -optc-O2 -I../includes -I. -Iparallel -Ism -DCOMPILING_RTS -package-name rts -fvia-C -static -I../gmp/gmp uild -I../libffi/build/include -I. -dcmm-lint -c PrimOps.cmm -o PrimOps.o PrimOps.cmm:945:0: unknown macro: RET_NNNN
RET_NNNN is a relatively recent addition to compiler/cmm/CmmParse.y by the patch [Fix conversions between Double/Float and simple-integer Ian Lynagh <igloo@earth.li>**20080614152337] { I suspect that for some reason something didn't rebuild properly after you pulled that patch.
Thanks Ian
Success!
dom@lagrange:~/ghc> ghc --version The Glorious Glasgow Haskell Compilation System, version 6.9.20080616
Thanks, Dominic.
On Thu, Jun 12, 2008 at 1:58 PM, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
Configuring editline-0.2... Setup: Version mismatch between ghc and ghc-pkg: /home/dom/ghc/compiler/stage1/ghc-inplace is version 6.9.20080606 /home/dom/ghc/utils/ghc-pkg/ghc-pkg-inplace is version 6.9.20080612
From the above error, I suspect that you need to run "make distclean" in the root of the source tree, then try building again. (I usually run that command every time before/after pulling from darcs.)
Let me know if that helps, -Judah
Ok but doesn't that rebuild everything not just the bits that have changed?
Correct. Ideally, the makefiles would be able to detect any changes after a pull, but in practice I've found that they get easily confused. Incidentally, if you haven't already, you can make each build much faster by adding a mk/build.mk file as in: http://hackage.haskell.org/trac/ghc/wiki/Building/Hacking -Judah
On 2008 Jun 12, at 16:58, Dominic Steinitz wrote:
Ok but doesn't that rebuild everything not just the bits that have changed?
Enough stuff usually changes that it's necessary (and for whatever reason dependencies don't catch enough of it). -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
Brandon S. Allbery KF8NH wrote:
On 2008 Jun 12, at 16:58, Dominic Steinitz wrote:
Ok but doesn't that rebuild everything not just the bits that have changed?
Enough stuff usually changes that it's necessary (and for whatever reason dependencies don't catch enough of it).
Recursive Make Considered Harmful: http://miller.emu.id.au/pmiller/books/rmch/ I won't say more. Cheers Ben
participants (7)
-
Ben Franksen -
Brandon S. Allbery KF8NH -
Dominic Steinitz -
Ian Lynagh -
Judah Jacobson -
Simon Peyton-Jones -
Tim Chevalier