hpodder compile problem (HaXml)

Jens Petersen petersen at redhat.com
Tue Jul 2 02:54:04 UTC 2013


Hi Martin,

> Resolving dependencies...
> Configuring HaXml-1.20.2...
> Building HaXml-1.20.2...
> Preprocessing library HaXml-1.20.2...
> 
> src/Text/XML/HaXml.hs:1:1:
>     Ambiguous module name `Prelude':
>       it was found in multiple packages: base haskell98-2.0.0.1
> cabal: Error: some packages failed to install:
> HaXml-1.20.2 failed during the building phase. The exception was:
> ExitFailure 1

You will probably have more luck building it with ghc-7.0...

I see the same here on F19.

I think best to contact the hpodder author for help on fixing this
(ie with getting it to build with ghc-7.4).
Newer (latest) HaXml seems to build ok with ghc-7.4 (f19),
but current hpodder does not seem happy with it:

Commands/Ls.hs:86:11:
    Could not deduce (PrintfType (m a0))
      arising from the ambiguity check for `printep'
    from the context (Monad m, PrintfType (m ()), PrintfType (m a))
      bound by the inferred type for `printep':
                 (Monad m, PrintfType (m ()), PrintfType (m a)) => Episode -> m ()
      at Commands/Ls.hs:(86,11)-(90,69)
    Possible fix: add an instance declaration for (PrintfType (m a0))
    When checking that `printep'
      has the inferred type `forall (m :: * -> *) a.
                             (Monad m, PrintfType (m ()), PrintfType (m a)) =>
                             Episode -> m ()'
    Probable cause: the inferred type is ambiguous
    In an equation for `lsepisodes_worker':
        lsepisodes_worker gi (opts, casts)
          = do { pc <- getSelectedPodcasts (gdbh gi) casts;
                 printf
                   "%-5s %-5s %-4s %-60.60s" "CstId" "EpId" "Stts" "Episode Title";
                 when (islong) (printf "            Episode URL");
                 .... }
          where
              printep ep
                = do { printf
                         "%-5d %-5d %-4s %-60.60s"
                         (castid (podcast ep))
                         (epid ep)
                         (take 4 . show $ epstatus ep)
                         (eptitle ep);
                       .... }
              islong = lookup "l" opts == Just ""

(above error is not related to the HaXml version).

Jens

ps For posterity I attached a patch to make HaXml-1.20 library build with ghc-7.4
but that does not fix the above problem with compiling hpodder
(ie hpodder /might/ perhaps build okay with latest HaXml).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HaXml-1.20-2-ghc74.patch
Type: text/x-patch
Size: 15919 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/haskell/attachments/20130701/9186b9bb/attachment.bin>


More information about the haskell mailing list