
Hi, folks- I'm a Haskell newbie. There's a very real chance my question has a simple answer. 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

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

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,
-Mark
2010/2/1 Daniel Fischer
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

Am Mittwoch 03 Februar 2010 01:19:49 schrieb Mark Wong-VanHaren:
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)
Cabal asks ghc-pkg what is installed, it doesn't keep a separate database.
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".
Right. First unregister the packages. Then you can delete the files if you want to.
Anyway, thanks again for your help, Daniel. Cheers, -Mark
participants (2)
-
Daniel Fischer
-
Mark Wong-VanHaren