
On 2008.04.07 20:17:06 +0200, ln
Hi,
I would like to try HXT, but I can't manage to build it. I resolved all the dependencies, but I get the following error:
ln@igemyvuci:~/Desktop/hxt$ make all make -C src all VERSION=7.5 make[1]: Entering directory `/home/ln/Desktop/hxt/src' make install_local_hxt make[2]: Entering directory `/home/ln/Desktop/hxt/src' ghc -Wall -O2 -fglasgow-exts -ignore-package hxt -package-name hxt-7.5 -package parsec -package HTTP -package tagsoup --make HXT.hs [ 1 of 143] Compiling Text.XML.HXT.Validator.RE ( Text/XML/HXT/Validator/RE.hs, Text/XML/HXT/Validator/RE.o ) (.....) [100 of 143] Compiling Text.XML.HXT.Parser.TagSoup ( Text/XML/HXT/Parser/TagSoup.hs, Text/XML/HXT/Parser/TagSoup.o )
Text/XML/HXT/Parser/TagSoup.hs:305:21: Not in scope: `options' make[2]: *** [libHShxt.a] Error 1
The alternative installation method with cabal leads to the same result.
Using Ubuntu 8.04 Beta and GHC6.8. Maybe there are incompabilities with newer versions of the dependencies?
Would appreciate any help.
Regards Lukas
You got it right. The issue is that in TagSoup.hs there is a line like 'parseTagsOptions (options { foo =...}'. That's invalid syntax AFAIK; more importantly, it's using functions from ndm's TagSoup library. TagSoup, with version 0.5, renamed the Options type to ParseOptions (we know the '(options {...' stuff is intended to be ParseOptions because parseTagsOptions handily comes with an explicit type signature). So if you simply edit the file such that 'options' -> 'ParseOptions', you should find it working for you. (I did this against the Darcs repo of HXT, and things compiled for me then on. I'm sending patches.) -- gwern 747 mailbomb the Alouette NSWT UKUSA Canine hitword fraud 1071