building haddock?

Malcolm Wallace Malcolm.Wallace at
Tue Jan 31 07:17:43 EST 2006

Quick question:  how do I build Haddock from the darcs repo?

Long version:

Using Cabal as provided with ghc-6.4.1 gave me this error:
    $ ghc-6.4.1 --make Setup
    $ ./a.out configure --help
    a.out: Line 12: Unknown field 'data-files'

So I tried to upgrade Cabal to a newer version.  Following the
instructions to the letter, there was some weirdness with compiler
versions, but I did end up with a newer Cabal:

    $ cd cabal-1.1.3
    $ ghc-pkg-6.4.1 unregister Cabal
    Saving old package config file... done.
    Writing new package config file... done.
    $ vi GNUMakefile	# edit HC=ghc-6.4.1, HC_PKG=ghc-pkg-6.4.1
    $ make install
    mkdir -p dist/tmp
    ghc-6.4.1 --make -Wall -fno-warn-unused-matches -cpp -i.
	 -odir dist/tmp -hidir dist/tmp Setup.lhs -o setup
    ./setup configure --ghc --prefix=/usr/malcolm/local
    Configuring Cabal-1.1.3...
    configure: Using install prefix: /usr/malcolm/local
    configure: Using compiler: /grp/haskell/bin/ghc
						# this is wrong
    configure: Compiler flavor: GHC
    configure: Compiler version: 6.2.2		# eek! this is wrong
    configure: Using package tool: /grp/haskell/bin/ghc-pkg
						# this is wrong too
    ./setup install
    Installing: /usr/malcolm/local/lib/Cabal-1.1.3/ghc-6.2.2
		 & /usr/malcolm/local/bin Cabal-1.1.3...
				# installed for wrong compiler
    Registering Cabal-1.1.3...
    Reading package info from ".installed-pkg-config"done.
    Expanding embedded variables... done.
    Saving old package config file... done.
    Writing new package config file... done.

    # Cabal is missing from ghc-6.4.1
    $ ghc-pkg-6.4.1 -l
        rts-1.0, base-1.0, haskell98-1.0, template-haskell-1.0, unix-1.0,
        parsec-1.0, haskell-src-1.0, network-1.0, QuickCheck-1.0,
        HUnit-1.1, mtl-1.0, fgl-5.2, X11-1.1, HGL-3.1, OpenGL-2.0,
        GLUT-2.0, stm-1.0, readline-1.0, (lang-1.0), (concurrent-1.0),
        (posix-1.0), (util-1.0), (data-1.0), (text-1.0), (net-1.0),
    # ...but is installed for ghc-6.2.2
    $ ghc-pkg-6.2.2 -l
        rts, base, haskell98, haskell-src, network, parsec, QuickCheck,
        readline, unix, lang, concurrent, posix, util, data, text, net,
        hssource, hat, HaXml, wxcore, wx, Cabal

But the killer is, it still doesn't work:

    $ cd haddock
    $ ghc-6.2.2 --make Setup -package Cabal
    Chasing modules from: Setup
    Compiling Main             ( Setup.lhs, Setup.o )
    Linking ...
    $ ./a.out t configure --help
    a.out: haddock.cabal:12: Unknown field 'data-files'

So then I tried just building haddock directly with ghc:

    $ ghc-6.4 --make Main.hs
    Chasing modules from: Main.hs
    Main.hs:39:1: lexical error
    $ ghc-6.4 --make -cpp Main.hs
    Chasing modules from: Main.hs
    Could not find module `Paths_Haddock':
      use -v to see a list of the files searched for
      (imported from Main.hs)

And now I'm stuck.  There genuinely is no module called Paths_Haddock.


More information about the Libraries mailing list