Oops! There's another problem with these paths. Haddock-generated links to library functions come out like <br><br> c:/ghc/ghc-6.6/doc/html/libraries/base/Data-Char.html#t%3AString<br><br>which is not a valid URL, as it's missing a "file:///" prefix.
<br><br><div><span class="gmail_quote">On 12/5/06, <b class="gmail_sendername">Conal Elliott</b> <<a href="mailto:email@example.com">firstname.lastname@example.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks for the explanation & suggestions, Simon. Your "other workaround" worked for me: I replaced $topdir\\html with c:\\ghc\\ghc-6.6\\doc\\html in my package.conf. Note the *doc*, so a straightforward $topdir splice would not do the trick. Cheers, - Conal
<div><span class="e" id="q_10f5490b421cf96d_1"><br><br><div><span class="gmail_quote">On 12/5/06, <b class="gmail_sendername">Simon Marlow</b> <<a href="mailto:email@example.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
firstname.lastname@example.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Conal Elliott wrote:<br>> I'm running haddock for the first time, via cabal. I get the following<br>> message when i do "runhaskell Setup.hs haddock" on monadLib:<br>><br>> Warning: cannot use package
base-2.0:<br>> HTML directory $topdir\html\libraries\base does not exist.<br>><br>> I do have c:/ghc/ghc-6.6/doc/html/libraries/base/. Is there some way i<br>> can let cabal know how to find it? What is $topdir about?
<br><br>This is due to the way GHC is installed on Windows, the package database doesn't<br>have hardcoded pathnames, the idea being that you can move your GHC anywhere in<br>the filesystem and it will still work.<br><br>
Unfortunately this means that Haddock can't find the documentation for the packages.<br><br>One workaround is to specify the paths by hand, using Haddock's --read-interface<br>flag. You're using Haddock via Cabal though, so that doesn't work too well.
<br>The other workaround is to find GHC's package.conf file and replace the string<br>$topdir with the literal path ("c:/ghc/ghc-6.6" in your case - perhaps you have<br>to append "/doc" for the haddock fields, though).
<br><br>I'll file a bug report against Cabal, we should really make this work.<br><br>Cheers,<br> Simon<br></blockquote></div><br>