Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 863497 - dev-haskell/haddock-library-1.10.0: Could not deduce (Parsec.Stream Text Data.Functor.Identity.Identity Char)
Summary: dev-haskell/haddock-library-1.10.0: Could not deduce (Parsec.Stream Text Data...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo's Haskell Language team
Depends on:
Reported: 2022-08-04 00:28 UTC by Luke-Jr
Modified: 2023-03-08 18:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

build log (build.log,14.86 KB, text/x-log)
2022-08-04 00:28 UTC, Luke-Jr

Note You need to log in before you can comment on or make changes to this bug.
Description Luke-Jr 2022-08-04 00:28:41 UTC
Created attachment 797404 [details]
build log


    This package indirectly depends on multiple versions of the same package. This is very likely to cause a compile failure.
      package parsec (parsec- requires text-
      package haddock-library (haddock-library-1.10.0) requires text-

Only dev-haskell/text- is actually installed at present. There do not appear to be any preserved libs for other versions either. Rebuilding parsec does not help. haskell-updater --all does not help.
Comment 1 Luke-Jr 2022-08-05 00:57:35 UTC
Noticed I'm using GHC 8.10.4-r1, and my system wants to update to 9.0.2... so maybe this is a dependency on GHC 9?

(GHC 9.0.2 also doesn't build tho)
Comment 2 Jack Todaro 2022-08-05 01:14:16 UTC
(In reply to Luke-Jr from comment #1)
> (GHC 9.0.2 also doesn't build tho)
What issue are you getting with ghc-9.0.2 not building?

The issue with haddock-library not building is that your system both has an older ghc and newer packages such at dev-haskell/text. ghc has bundled libraries which it uses internally, such as 'text'. Because ghc bundles these libraries, we create 'dummy packages' which allow Portage to 'emerge' the package without actually doing so - instead it just points to the bundled library in ghc. So, when everything is working correctly, if a package depends on dev-haskell/text, Portage will emerge 'text' but the ebuild will actually just say 'hey, I'm a dummy package because I'm already in ghc. Don't do anything other than tell Portage that I'm already installed'.

But when an old ghc and a newer 'dummy' package is on the system such that the version of the dummy package (in this case 'text') does not match the one bundled with the older ghc installed on the system, then Portage installs 'text' as a regular package.

This creates two incompatible versions of the package available to your system, causing issues with reverse dependencies such as haddock-library.

The solution is to upgrade to the latest ghc and all other haskell updates available, so we need to know why you can't upgrade.

`emerge -1vu ghc && haskell-updater` should work. If it does not, let us know.
Comment 3 Luke-Jr 2022-08-15 13:46:46 UTC
Works with dev-lang/ghc-9.0.2

So there's a missing *DEPEND somewhere...
Comment 4 Jack Todaro 2022-08-15 20:51:27 UTC
There's not strictly a missing dependency as all the libraries haddock-library needs to run are included in ghc. However, the versions of libraries bundled with each version of ghc usually change, and maybe this would be a reason to override the ghc lower bound included in haddock-library with the version of ghc whose bundled libraries are needed by haddock-library, i.e. 9.0.2. I'll look into that.
Comment 5 Martin Mokrejš 2023-03-08 18:06:41 UTC
  I also ran into this:

# emerge -pv ghc

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 17.33 s.

[ebuild     U  ] dev-lang/ghc-9.0.2-r4:0/9.0.2::gentoo [8.10.6:0/8.10.6::haskell] USE="gmp (-big-endian) -binary -doc -elfutils -ghcbootstrap -ghcmakebinary -llvm% -numa -profile -test -unregisterised%" 18,892 KiB

Yes, upgrading ghc helped.