Can't compile GHC-7.8.3 from git, fails on haskell98 library

Hi, On a completely clean clone, I've checked out the tag ghc-7.8.3-release, ran sync-all get, boot, and configure, but the build fails on haskell98. Any ideas what I could be doing wrong? Thanks, Gergo "inplace/bin/ghc-cabal" check libraries/haskell98 "inplace/bin/ghc-cabal" configure libraries/haskell98 dist-install "" --with-ghc="/home/cactus/prog/haskell/ghc/ghc-7.8-build/inplace/bin/ghc-stage1" --with-ghc-pkg="/home/cactus/prog/haskell/ghc/ghc-7.8-build/inplace/bin/ghc-pkg" --disable-library-for-ghci --enable-library-vanilla --disable-library-profiling --enable-shared --with-hscolour="/home/cactus/.cabal/bin/HsColour" --configure-option=CFLAGS=" -fno-stack-protector " --configure-option=LDFLAGS=" " --configure-option=CPPFLAGS=" " --gcc-options=" -fno-stack-protector " --with-gcc="/usr/bin/gcc" --with-ld="/usr/bin/ld" --configure-option=--with-cc="/usr/bin/gcc" --with-ar="/usr/bin/ar" --with-ranlib="/usr/bin/ranlib" --with-alex="/home/cactus/.cabal/bin/alex" --with-happy="/home/cactus/.cabal/bin/happy" Configuring haskell98-2.0.0.4... ghc-cabal: At least the following dependencies are missing: base ==4.8.* make[1]: *** [libraries/haskell98/dist-install/package-data.mk] Error 1

On Sun, 2 Nov 2014, Dr. ERDI Gergo wrote:
On a completely clean clone, I've checked out the tag ghc-7.8.3-release, ran sync-all get, boot, and configure, but the build fails on haskell98. Any ideas what I could be doing wrong?
I've worked around this by manually checking out the 'ghc-7.8' branch of various submodules until I got it to work (I think the ones I needed to change were dph, haskell98, haskell2010, template-haskell, and haddock, but I'm not sure). It seems the `ghc-7.8.3-release` tag is in a horrible shape in terms of reproducable building of imported repos. Is anyone looking into fixing this? Bye, Gergo

The checkout clone process for 7.8.3 is very different from head. What
exact commands where you trying to do for the initial clone?
I would use
Git clone -b ghc-7.8.3 ghcUrl ; ./sync-all get
I think.
Point being the clone process is different.
On Sunday, November 2, 2014, Dr. ERDI Gergo
On Sun, 2 Nov 2014, Dr. ERDI Gergo wrote:
On a completely clean clone, I've checked out the tag ghc-7.8.3-release,
ran sync-all get, boot, and configure, but the build fails on haskell98. Any ideas what I could be doing wrong?
I've worked around this by manually checking out the 'ghc-7.8' branch of various submodules until I got it to work (I think the ones I needed to change were dph, haskell98, haskell2010, template-haskell, and haddock, but I'm not sure). It seems the `ghc-7.8.3-release` tag is in a horrible shape in terms of reproducable building of imported repos. Is anyone looking into fixing this?
Bye, Gergo _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

On Sun, 2 Nov 2014, Carter Schonwald wrote:
The checkout clone process for 7.8.3 is very different from head. What exact commands where you trying to do for the initial clone? I would use Git clone -b ghc-7.8.3 ghcUrl ; ./sync-all get I think.
Point being the clone process is different.
I was on the ghc-7.8.3-release git tag and updated the submodules, so I was on the right commit I think. Does 'sync-all get' check out the correct commits or at least branches? I think that's the part that what went wrong.

Are you sure there's a -release tag?
What was the exact clone and checkout you did?
On Sunday, November 2, 2014, Dr. ERDI Gergo
On Sun, 2 Nov 2014, Carter Schonwald wrote:
The checkout clone process for 7.8.3 is very different from head. What
exact commands where you trying to do for the initial clone? I would use Git clone -b ghc-7.8.3 ghcUrl ; ./sync-all get I think.
Point being the clone process is different.
I was on the ghc-7.8.3-release git tag and updated the submodules, so I was on the right commit I think. Does 'sync-all get' check out the correct commits or at least branches? I think that's the part that what went wrong.

On Sun, 2 Nov 2014, Carter Schonwald wrote:
Are you sure there's a -release tag?What was the exact clone and checkout you did?
You don't see the same tag? Are we even looking at the same repo? Mine was cloned from ssh://git@git.haskell.org/ghc.git and the tag in question is: 22:58:13 [cactus@galaxy ghc-7.8]$ git rev-parse ghc-7.8.3-release 4b1bcd4bfed2de5a1cd5ab2eb64e396ae647d963 Also how I arrived at that commit should be irrelevant -- there should be no weird dangling external state by git branch names or tag names or anything like that.

Hello Gergo, On 2014-11-02 at 14:29:06 +0100, Dr. ERDI Gergo wrote:
On Sun, 2 Nov 2014, Dr. ERDI Gergo wrote:
On a completely clean clone, I've checked out the tag ghc-7.8.3-release, ran sync-all get, boot, and configure, but the build fails on haskell98. Any ideas what I could be doing wrong?
I've worked around this by manually checking out the 'ghc-7.8' branch of various submodules until I got it to work (I think the ones I needed to change were dph, haskell98, haskell2010, template-haskell, and haddock, but I'm not sure). It seems the `ghc-7.8.3-release` tag is in a horrible shape in terms of reproducable building of imported repos. Is anyone looking into fixing this?
Starting with GHC 7.8.x, fingerprints are written into annotated & gpg-signed release tags: http://git.haskell.org/ghc.git/tag/refs/tags/ghc-7.8.3-release That way you're able to restore via the fingerprint for a given release via: ./utils/fingerprint/fingerprint.py restore -f <(git show ghc-7.8.3-release | grep -F '|') I'm just surprised I couldn't find that described anywhere in the wiki, I was sure it was written down somewhere... hth, hvr

Starting with GHC 7.8.x, fingerprints are written into annotated & gpg-signed release tags:
http://git.haskell.org/ghc.git/tag/refs/tags/ghc-7.8.3-release
That way you're able to restore via the fingerprint for a given release via:
./utils/fingerprint/fingerprint.py restore -f <(git show ghc-7.8.3-release | grep -F '|')
I'm just surprised I couldn't find that described anywhere in the wiki, I was sure it was written down somewhere...
Oh, pretty useful. I also couldn't find it on the wiki and this page https://ghc.haskell.org/trac/ghc/wiki/GitRepoReorganization even claims it's going to be obsolete (starting with 7.10?). Google shows that something related was mentioned in https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources?version=93 but the new version of the page missed that info. This emails refers to the no-longer available info on the wiki, too: https://www.haskell.org/pipermail/ghc-devs/2014-January/003930.html I wonder what happened and which info is meaningful only for GHC < 7.8 or even ==7.8 and which parts make sense for 7.10 as well. Cheers, Mikolaj

I've brought back the old section about fingerprint.py for 7.8.*
to the GettingTheSources wiki page, updated it, to the best
of my knowledge, and added the info from the email below.
Please correct the section if I mixed up anything. I think,
for as long as 7.8.* is in widespread use, the section has to stay,
even though it's irrelevant for 7.10.
https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#Trackingthe...
On Sun, Nov 2, 2014 at 5:02 PM, Herbert Valerio Riedel
Hello Gergo,
On 2014-11-02 at 14:29:06 +0100, Dr. ERDI Gergo wrote:
On Sun, 2 Nov 2014, Dr. ERDI Gergo wrote:
On a completely clean clone, I've checked out the tag ghc-7.8.3-release, ran sync-all get, boot, and configure, but the build fails on haskell98. Any ideas what I could be doing wrong?
I've worked around this by manually checking out the 'ghc-7.8' branch of various submodules until I got it to work (I think the ones I needed to change were dph, haskell98, haskell2010, template-haskell, and haddock, but I'm not sure). It seems the `ghc-7.8.3-release` tag is in a horrible shape in terms of reproducable building of imported repos. Is anyone looking into fixing this?
Starting with GHC 7.8.x, fingerprints are written into annotated & gpg-signed release tags:
http://git.haskell.org/ghc.git/tag/refs/tags/ghc-7.8.3-release
That way you're able to restore via the fingerprint for a given release via:
./utils/fingerprint/fingerprint.py restore -f <(git show ghc-7.8.3-release | grep -F '|')
I'm just surprised I couldn't find that described anywhere in the wiki, I was sure it was written down somewhere...
hth, hvr _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
participants (4)
-
Carter Schonwald
-
Dr. ERDI Gergo
-
Herbert Valerio Riedel
-
Mikolaj Konarski