haddock issue building ghc-7.8 from git

Hi, When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here. My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works): | ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int thanks, matthias

On 14/03/14 09:01, Matthias Fischmann wrote:
Hi,
When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here.
My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works):
| ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int
thanks, matthias _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
The master branch of Haddock has that test for a reason: anyone working on Haddock will be doing so using GHC HEAD which is at 7.9. Haddock has a separate branch (named ghc-7.8) which is the candidate that will go into 7.8. If you're building GHC 7.8, you should be on that branch for Haddock and all the other libraries. IIRC you can pass some arguments to the sync-all script which will do all the switching for you but I forgot what it was. I'm sure someone else can chime in. -- Mateusz K.

You need to say:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8
$ cd ghc-7.8
$ ./sync-all -b ghc-7.8
That should do the trick and get you a clean, working repository
(sync-all is fiddly with checkout at the moment, if I remember
correctly).
On Fri, Mar 14, 2014 at 4:29 AM, Mateusz Kowalczyk
On 14/03/14 09:01, Matthias Fischmann wrote:
Hi,
When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here.
My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works):
| ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int
thanks, matthias _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
The master branch of Haddock has that test for a reason: anyone working on Haddock will be doing so using GHC HEAD which is at 7.9. Haddock has a separate branch (named ghc-7.8) which is the candidate that will go into 7.8.
If you're building GHC 7.8, you should be on that branch for Haddock and all the other libraries. IIRC you can pass some arguments to the sync-all script which will do all the switching for you but I forgot what it was. I'm sure someone else can chime in.
-- Mateusz K. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

Oh bother:
$ ./sync-all -b ghc-7.8
Should be:
./sync-all -b ghc-7.8 get
of course.
On Fri, Mar 14, 2014 at 4:45 AM, Austin Seipp
You need to say:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8 $ cd ghc-7.8 $ ./sync-all -b ghc-7.8
That should do the trick and get you a clean, working repository (sync-all is fiddly with checkout at the moment, if I remember correctly).
On Fri, Mar 14, 2014 at 4:29 AM, Mateusz Kowalczyk
wrote: On 14/03/14 09:01, Matthias Fischmann wrote:
Hi,
When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here.
My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works):
| ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int
thanks, matthias _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
The master branch of Haddock has that test for a reason: anyone working on Haddock will be doing so using GHC HEAD which is at 7.9. Haddock has a separate branch (named ghc-7.8) which is the candidate that will go into 7.8.
If you're building GHC 7.8, you should be on that branch for Haddock and all the other libraries. IIRC you can pass some arguments to the sync-all script which will do all the switching for you but I forgot what it was. I'm sure someone else can chime in.
-- Mateusz K. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

On Fri, Mar 14, 2014 at 04:45:58AM -0500, Austin Seipp wrote:
Date: Fri, 14 Mar 2014 04:45:58 -0500 From: Austin Seipp
To: "ghc-devs@haskell.org" Subject: Re: haddock issue building ghc-7.8 from git Oh bother:
$ ./sync-all -b ghc-7.8
Should be:
./sync-all -b ghc-7.8 get
of course.
ok, that makes a lot of sense. (i was wondering about demanding version 709... :-) now i get this: [...] ~/src/ghc-7.8$ ./sync-all -b ghc-7.8 get Unrecognised flag: -b at ./sync-all line 850. == Checking for old haddock repo == Checking for old binary repo == Checking for old mtl repo == Checking for old Cabal repo == Checking for old time from tarball ============================ ATTENTION! You have an old time package in your GHC tree! Please remove it (e.g. "rm -r libraries/time"), and then run "./sync-all get" to get the new repository. ============================ == Checking for obsolete Git repo URL ~/src/ghc-7.8$ rm -rf libraries/time/ ~/src/ghc-7.8$ ./sync-all -b ghc-7.8 get Unrecognised flag: -b at ./sync-all line 850. == Checking for old haddock repo == Checking for old binary repo == Checking for old mtl repo == Checking for old Cabal repo == Checking for old time from tarball == Checking for obsolete Git repo URL ~/src/ghc-7.8$ perl boot Error: libffi-tarballs/LICENSE doesn't exist. [...] i also tried to pull with -b ghc-7.8, but sync-all doesn't do anything in either case. ./sync-all get pull master (which i don't want, appearently). './sync-all checkout ghc-7.8' cannot find branch 7.8 on several repos. (how easy would it be to implement exact version pinning in sync-all? could i do it in a day or two? would there be any drawbacks from doing this?) cheers, matthias
On Fri, Mar 14, 2014 at 4:45 AM, Austin Seipp
wrote: You need to say:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8 $ cd ghc-7.8 $ ./sync-all -b ghc-7.8
That should do the trick and get you a clean, working repository (sync-all is fiddly with checkout at the moment, if I remember correctly).
On Fri, Mar 14, 2014 at 4:29 AM, Mateusz Kowalczyk
wrote: On 14/03/14 09:01, Matthias Fischmann wrote:
Hi,
When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here.
My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works):
| ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int
thanks, matthias _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
The master branch of Haddock has that test for a reason: anyone working on Haddock will be doing so using GHC HEAD which is at 7.9. Haddock has a separate branch (named ghc-7.8) which is the candidate that will go into 7.8.
If you're building GHC 7.8, you should be on that branch for Haddock and all the other libraries. IIRC you can pass some arguments to the sync-all script which will do all the switching for you but I forgot what it was. I'm sure someone else can chime in.
-- Mateusz K. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

My goodness am I clumsy sometimes :(
It's actually:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8
$ cd ghc-7.8
$ ./sync-all get -b ghc-7.8
I messed up the -b argument. Again. :(
As a rule, sync-all for 'get' will take 'git' arguments, so the 'get
-b' translates to 'git clone -b ghc-7.8 ...'
Also, yes, there are already fingerprints. See the source code here:
https://github.com/nomeata/ghc-complete/tree/ghc-7.8 - Note
specifically it is on the 7.8 branch. Also see:
https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#Trackingthe...
to use the fingerprint utility.
Urgh. Sorry again!
On Fri, Mar 14, 2014 at 5:03 AM, Matthias Fischmann
On Fri, Mar 14, 2014 at 04:45:58AM -0500, Austin Seipp wrote:
Date: Fri, 14 Mar 2014 04:45:58 -0500 From: Austin Seipp
To: "ghc-devs@haskell.org" Subject: Re: haddock issue building ghc-7.8 from git Oh bother:
$ ./sync-all -b ghc-7.8
Should be:
./sync-all -b ghc-7.8 get
of course.
ok, that makes a lot of sense. (i was wondering about demanding version 709... :-)
now i get this:
[...] ~/src/ghc-7.8$ ./sync-all -b ghc-7.8 get Unrecognised flag: -b at ./sync-all line 850. == Checking for old haddock repo == Checking for old binary repo == Checking for old mtl repo == Checking for old Cabal repo == Checking for old time from tarball ============================ ATTENTION!
You have an old time package in your GHC tree!
Please remove it (e.g. "rm -r libraries/time"), and then run "./sync-all get" to get the new repository. ============================ == Checking for obsolete Git repo URL ~/src/ghc-7.8$ rm -rf libraries/time/ ~/src/ghc-7.8$ ./sync-all -b ghc-7.8 get Unrecognised flag: -b at ./sync-all line 850. == Checking for old haddock repo == Checking for old binary repo == Checking for old mtl repo == Checking for old Cabal repo == Checking for old time from tarball == Checking for obsolete Git repo URL ~/src/ghc-7.8$ perl boot Error: libffi-tarballs/LICENSE doesn't exist. [...]
i also tried to pull with -b ghc-7.8, but sync-all doesn't do anything in either case.
./sync-all get pull master (which i don't want, appearently).
'./sync-all checkout ghc-7.8' cannot find branch 7.8 on several repos.
(how easy would it be to implement exact version pinning in sync-all? could i do it in a day or two? would there be any drawbacks from doing this?)
cheers, matthias
On Fri, Mar 14, 2014 at 4:45 AM, Austin Seipp
wrote: You need to say:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8 $ cd ghc-7.8 $ ./sync-all -b ghc-7.8
That should do the trick and get you a clean, working repository (sync-all is fiddly with checkout at the moment, if I remember correctly).
On Fri, Mar 14, 2014 at 4:29 AM, Mateusz Kowalczyk
wrote: On 14/03/14 09:01, Matthias Fischmann wrote:
Hi,
When building from git (branch ghc-7.8 as of today), I run into a haddock issue because __GLASGOW_HASKELL__ appearently is not 709 on my system. Not sure whether this is a bug, and if it should go to trac/haddock or trac/ghc, so I decided to post it here.
My "fix" is easy enough (even though I ran into other problems later, so I don't really know how well it works):
| ~/src/ghc/utils/haddock/src/Haddock$ git diff | diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs | index 924829d..19a742f 100644 | --- a/src/Haddock/InterfaceFile.hs | +++ b/src/Haddock/InterfaceFile.hs | @@ -76,14 +76,14 @@ binaryInterfaceMagic = 0xD0Cface | -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] | -- | binaryInterfaceVersion :: Word16 | -#if __GLASGOW_HASKELL__ == 709 | +-- #if __GLASGOW_HASKELL__ == 709 | binaryInterfaceVersion = 25 | | binaryInterfaceVersionCompatibility :: [Word16] | binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] | -#else | -#error Unsupported GHC version | -#endif | +-- #else | +-- #error Unsupported GHC version | +-- #endif | | | initBinMemSize :: Int
thanks, matthias _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
The master branch of Haddock has that test for a reason: anyone working on Haddock will be doing so using GHC HEAD which is at 7.9. Haddock has a separate branch (named ghc-7.8) which is the candidate that will go into 7.8.
If you're building GHC 7.8, you should be on that branch for Haddock and all the other libraries. IIRC you can pass some arguments to the sync-all script which will do all the switching for you but I forgot what it was. I'm sure someone else can chime in.
-- Mateusz K. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

On Fri, Mar 14, 2014 at 05:08:35AM -0500, Austin Seipp wrote:
Date: Fri, 14 Mar 2014 05:08:35 -0500 From: Austin Seipp
To: Matthias Fischmann Cc: Austin Seipp , "ghc-devs@haskell.org" Subject: Re: haddock issue building ghc-7.8 from git My goodness am I clumsy sometimes :(
i bet you i'm clumsier :)
It's actually:
$ git clone -b ghc-7.8 https://git.haskell.org/ghc ghc-7.8 $ cd ghc-7.8 $ ./sync-all get -b ghc-7.8
ok, that works. i had to ^C and re-try a number of times due to connect timeouts (i think there is a thread about this on this list a few days back), but now it's compiling smoothly, and the sub-repos are all on branch 7.8. also thanks for the fingerprint hint. cheers, matthias
participants (3)
-
Austin Seipp
-
Mateusz Kowalczyk
-
Matthias Fischmann