Hi Roman,

On Wed, Jun 20, 2007 at 04:38:36PM +1000, Roman Leshchinskiy wrote:
> 
> today, I tried to build the ghc-ndp branch from a fresh tree after two 
> weeks off. Ultimately, it sort of worked, but not without some pain. 
> I'll describe what I did and the problems I've encountered in the hope 
> that it will be helpful.

Very, thanks!

> == running darcs get --partial 
> http://darcs.haskell.org/ghc-ndp/packages/base
> Invalid repository:  http://darcs.haskell.org/ghc-ndp/packages/base
> 
> This is because darcs-all determines the base url of the repository by 
> removing a trailing "ghc". However, our url ends with "ghc-ndp" so this 
> doesn't work. The workaround is to change _darcs/prefs/defaultrepo to 
> http://darcs.haskell.org/ghc. I assume this is going to be problematic 
> for all branches.

Good point - now fixed.

>   cd libraries
>   darcs get http://darcs.haskell.org/packages/ndp
>   cd ..
>   <set up mk/build.mk>
>   autoreconf

Are there docs somewhere that still tell you to run autoreconf?

>   sh boot
> 
> This step is new and, of course, I skipped it on first try. The README 
> mentions it but why is it necessary at all? Couldn't this be done as 
> part of configure?

It runs autoreconf, for the root and also all of the libraries.

So configure can't run it, as it is what creates configure  :-)

>   configure
> 
> Works, but the first line of output is strange:
> 
> checking for GHC version date... darcs: getFdStatus: invalid argument 
> (Bad file descriptor)

Does

    darcs changes --quiet --no-summary --xml | head -500 | grep 'date=' | sed 
"s/^.*date='\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*$/\1/g" | sort -n | 
tail -1

give the same error? Hmm, I think that's really supposed to be "tail -n 1" - I 
wonder if that's what's causing the problem.

> Also, IMO Haddock errors should never be treated as fatal by 
> the build system.

When we're making releases or building distro packages we want the build
to fail if making the docs fails. We also want a big flag at the very
least during the nightly builds.

> A related question: is there a way for a package to say that it doesn't 
> want to be processed with Haddock? From the Cabal documentation, I'd 
> guess the answer is no.

You could write a haddock hook that does nothing, or you can wrap
individual modules with #ifndef __HADDOCK__/#endif.

> 2. Parallel make (i.e., make -j) doesn't work at all for me.

We've now fixed this too, although it turned out to be non-trivial to
fix in as nice a way as I'd hoped, so libraries are just built
sequentially for now.


Thanks
Ian

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to