[Haskell-beginners] Problems installing TagSoup.Parsec

Mark Wong-VanHaren markwvh at gmail.com
Tue Feb 2 19:19:49 EST 2010

Hi, Daniel-

Many thanks for your help.  Your instructions were very clear and
worked perfectly.

The only snag I encountered was a separate problem I had created for
myself, which I'll mention here in case it may help someone else...

I (thought I) wanted to uninstall TagSoup 0.8.  (I didn't really need
to.)  Cabal doesn't provide an "uninstall" command, so I naively
attempted to do it "manually" -- that is, to simply rm
TagSoup-0.8-related files in my installation.

This confused Cabal, which still "believed" (by virtue of config
settings somewhere, presumably) that TagSoup was still installed.  So
cabal failed to find the actual files needed and complained.

Rather than manually rm-ing things, the proper solution (I believe --
at least it worked for me) was to use "ghc-pkg unregister tagsoup".

Anyway, thanks again for your help, Daniel.  Cheers,

2010/2/1 Daniel Fischer <daniel.is.fischer at web.de>:
> Am Montag 01 Februar 2010 21:21:12 schrieb Mark Wong-VanHaren:
>> Hi, folks-
>> I'm a Haskell newbie.  There's a very real chance my question has a
>> simple answer.
> Yes and no. The problem is that the build-depends field of tagsoup-
> parsec.cabal doesn't specify an upper bound on the version of tagsoup to
> use. Thus cabal tries to build it with the latest and greates tagsoup, 0.8.
> Neill Mitchell changed the tagsoup API, bad .cabal files break.
> Fix: unpack tagsoup-parsec-0.0.6, open the .cabal file, change
> Library
>   Build-Depends:  base<5, tagsoup, parsec<3
> to
> Library
>   Build-Depends:  base<5, tagsoup < 0.7, parsec<3
> $ cd tagsoup-parsec-0.0.6
> $ cabal install
> email maintainer of tagsoup-parsec to fix it (adapt to new tagsoup API).
>> I wish to use the library Text.HTML.TagSoup.Parsec (
>> http://hackage.haskell.org/package/tagsoup-parsec), which looks very
>> cool.
>> When I attempt to install it, I get this error:
>> # cabal install tagsoup-parsec
>> Resolving dependencies...
>> Configuring tagsoup-parsec-0.0.6...
>> Preprocessing library tagsoup-parsec-0.0.6...
>> Building tagsoup-parsec-0.0.6...
>> [1 of 1] Compiling Text.HTML.TagSoup.Parsec (
>> Text/HTML/TagSoup/Parsec.hs, dist/build/Text/HTML/TagSoup/Parsec.o )
>> Text/HTML/TagSoup/Parsec.hs:37:5:
>>    `Tag' is not applied to enough type arguments
>>    Expected kind `*', but `Tag' has kind `* -> *'
>>    In the type synonym declaration for `WholeTag'
>> cabal: Error: some packages failed to install:
>> tagsoup-parsec-0.0.6 failed during the building phase. The exception
>> was: exit: ExitFailure 1
>> It would seem to be a type mismatch between TagSoup.Parsec and the base
>> TagSoup (on which it depends).
>> Suspecting that the version-number dependency information might be
>> incorrect, I tried uninstalling TagSoup and reinstalling an older
>> version. This didn't help.
>> Can anyone steer me in the right direction?
>> Thanks!
>> -Mark

More information about the Beginners mailing list