Summary: | dev-vcs/git-annex from haskell overlay is not installable | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andriy Utkin (RETIRED) <andrey_utkin> |
Component: | Overlays | Assignee: | Gentoo's Haskell Language team <haskell> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | terminal log of emerge invocations |
I think the main problem here is mtl->cabal->mtl dependency. It happens because ghc-8.4 (~arch) did not pull in mtl-2.2.2 (~arch). We'll need to add a blocker to older mtl to steer portage into using newer mtl. Enabling mtl-2.2.2 just changes the circular dependency error to the following one: * Error: circular dependencies: (dev-haskell/tagged-0.8.4:0/0.8.4::gentoo, ebuild scheduled for merge) depends on (dev-haskell/cabal-2.2.0.1:0/2.2.0.1::haskell, ebuild scheduled for merge) (buildtime) (dev-haskell/parsec-3.1.13.0-r1:0/3.1.13.0::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/semigroups-0.18.5:0/0.18.5::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/tagged-0.8.4:0/0.8.4::gentoo, ebuild scheduled for merge) (buildtime_slot_op) This must be another circular depend: tagged->cabal->parsec->semigroups->tagged. I guess it comes from the old tagged-0.8.4. The circular dependency was fixed in tagged-0.8.5 by using bundled Cabal as: CABAL_FEATURES+=" nocabaldep" Now I get * Error: circular dependencies: (dev-haskell/transformers-0.5.2.0:0/0.5.2.0::haskell, ebuild scheduled for merge) depends on (dev-haskell/cabal-2.2.0.1:0/2.2.0.1::haskell, ebuild scheduled for merge) (buildtime) (dev-haskell/parsec-3.1.13.0-r1:0/3.1.13.0::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/semigroups-0.18.5:0/0.18.5::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/tagged-0.8.5:0/0.8.5::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/transformers-0.5.2.0:0/0.5.2.0::haskell, ebuild scheduled for merge) (buildtime_slot_op) Is there some global USE or FEATURES flag which makes Haskell base packages use binaries provided by upstream, instead of bootstraping much stuff? (In reply to Andrey Utkin from comment #4) > Now I get > > > * Error: circular dependencies: > > (dev-haskell/transformers-0.5.2.0:0/0.5.2.0::haskell, ebuild scheduled for > merge) depends on > (dev-haskell/cabal-2.2.0.1:0/2.2.0.1::haskell, ebuild scheduled for merge) > (buildtime) > (dev-haskell/parsec-3.1.13.0-r1:0/3.1.13.0::haskell, ebuild scheduled for > merge) (buildtime_slot_op) > (dev-haskell/semigroups-0.18.5:0/0.18.5::haskell, ebuild scheduled for > merge) (buildtime_slot_op) > (dev-haskell/tagged-0.8.5:0/0.8.5::haskell, ebuild scheduled for merge) > (buildtime_slot_op) > (dev-haskell/transformers-0.5.2.0:0/0.5.2.0::haskell, ebuild scheduled > for merge) (buildtime_slot_op) Hopefully fixed as https://github.com/gentoo-haskell/gentoo-haskell/commit/2e99c2bc1fa3491d9d76024e9cd52b7bdb273ec3 Now I get * Error: circular dependencies: (dev-haskell/nats-1.1.2:0/1.1.2::haskell, ebuild scheduled for merge) depends on (dev-haskell/binary-0.7.6.1:0/0.7.6.1::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/cabal-2.2.0.1:0/2.2.0.1::haskell, ebuild scheduled for merge) (buildtime) (dev-haskell/parsec-3.1.13.0-r1:0/3.1.13.0::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/semigroups-0.18.5:0/0.18.5::haskell, ebuild scheduled for merge) (buildtime_slot_op) (dev-haskell/nats-1.1.2:0/1.1.2::haskell, ebuild scheduled for merge) (buildtime_slot_op) It might be possible to break this cycle by applying the following change: - dev-haskell/nats-1.1.2 (Change USE: -binary) Note that this change can be reverted, once the package has been installed. Note that the dependency graph contains a lot of cycles. Several changes might be required to resolve all cycles. Temporarily changing some use flag for all packages might be the better option. Now trying with "dev-haskell/* binary" in package.use. I have previously misread that Portage message. Putting dev-haskell/nats -binary Seems to help. Thanks for your hard work slyfox. Will confirm later if it installs. Now, "Calculating dependencies ......... ...... ..." Circulars have gone away, but there are still some version conflicts. See below. I tried putting "dev-haskell/* ~amd64" and this helped with this problem. Perhaps this can be used as "recommended settings" for using Haskell overlay, and documented as such on team's wiki page and overlay's README? !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-haskell/stm:0 (dev-haskell/stm-2.5.0.0:0/2.5.0.0::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/stm-2.4.3:=[profile?] required by (dev-haskell/unliftio-0.2.10:0/0.2.10::haskell, ebuild scheduled for merge) ^^ ^^^^^ (dev-haskell/stm-2.4.2:0/2.4.2::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/stm-2.5:=[profile?] required by (dev-haskell/statevar-1.1.0.4:0/1.1.0.4::haskell, ebuild scheduled for merge) ^ ^^^ ^ dev-haskell/conduit:0 (dev-haskell/conduit-1.3.1:0/1.3.1::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-1.6.0:0/1.6.0::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-static-1.6.0.1:0/1.6.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/conduit-extra-1.3.0:0/1.3.0::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/xml-conduit-1.8.0.1:0/1.8.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-core-1.6.11:0/1.6.11::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/aws-0.20:0/0.20::haskell, ebuild scheduled for merge) ^^ ^^^ (dev-haskell/conduit-1.2.8:0/1.2.8::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/sandi-0.4.0:0/0.4.0::gentoo, ebuild scheduled for merge) ^ ^^^ ^ dev-haskell/resourcet:0 (dev-haskell/resourcet-1.2.2:0/1.2.2::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/resourcet-1.1.10:=[profile?] required by (dev-haskell/persistent-2.9.1:0/2.9.1::haskell, ebuild scheduled for merge) ^^ ^^^^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/xml-conduit-1.8.0.1:0/1.8.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/yesod-core-1.6.11:0/1.6.11::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/aws-0.20:0/0.20::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/conduit-1.3.1:0/1.3.1::haskell, ebuild scheduled for merge) ^^ ^^^ (dev-haskell/resourcet-1.1.7.4:0/1.1.7.4::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/wai-extra-3.0.15.1:0/3.0.15.1::gentoo, ebuild scheduled for merge) ^ ^^^ ^ <dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/conduit-1.2.8:0/1.2.8::gentoo, ebuild scheduled for merge) ^ ^^^ ^ So installation succeeded with this in package.keywords: dev-haskell/*::haskell ~amd64 Please consider documenting some recommended settings - like this or otherwise - for using Haskell overlay. Because following automatic suggestions from Portage wasted a lot of my time in this case. (In reply to Andrey Utkin from comment #10) > So installation succeeded with this in package.keywords: > > dev-haskell/*::haskell ~amd64 > > Please consider documenting some recommended settings - like this or > otherwise - for using Haskell overlay. Because following automatic > suggestions from Portage wasted a lot of my time in this case. It is documented at https://github.com/gentoo-haskell/gentoo-haskell/#quickest-start since around 2012 https://github.com/gentoo-haskell/gentoo-haskell/commit/9f55e94312d45a759572ee082077313a60d010db Facepalm for me. Thanks. No problem. Maybe we should advertise it more on other wiki or something like that. |
Created attachment 563532 [details] terminal log of emerge invocations Getting circular dependency and numerous conflicts between its dependencies. Even on a haskell-sterile setup (no dev-haskell/*, no GHC, no masking/keywording settings for any of those). Total: 216 packages (216 new), Size of downloads: 9,857 KiB * Error: circular dependencies: (dev-haskell/mtl-2.2.1-r1:0/2.2.1::haskell, ebuild scheduled for merge) depends on (dev-haskell/cabal-2.2.0.1:0/2.2.0.1::haskell, ebuild scheduled for merge) (buildtime) (dev-haskell/mtl-2.2.1-r1:0/2.2.1::haskell, ebuild scheduled for merge) (buildtime_slot_op) * Note that circular dependencies can often be avoided by temporarily * disabling USE flags that trigger optional dependencies. !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-haskell/x509-store:0 (dev-haskell/x509-store-1.6.6:0/1.6.6::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/x509-store-1.6:=[profile?] required by (dev-haskell/tls-1.4.1:0/1.4.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/x509-store-1.6:=[profile?] required by (dev-haskell/x509-validation-1.6.10:0/1.6.10::haskell, ebuild scheduled for merge) ^^ ^^^ (dev-haskell/x509-store-1.5.0:0/1.5.0::haskell, ebuild scheduled for merge) pulled in by <dev-haskell/x509-store-1.6:=[profile?] required by (dev-haskell/x509-system-1.5.0:0/1.5.0::haskell, ebuild scheduled for merge) ^ ^^^ ^ dev-haskell/x509:0 (dev-haskell/x509-1.7.3:0/1.7.3::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/x509-1.7.2:=[profile?] required by (dev-haskell/x509-validation-1.6.10:0/1.6.10::haskell, ebuild scheduled for merge) ^^ ^^^^^ >=dev-haskell/x509-1.7.1:=[profile?] required by (dev-haskell/tls-1.4.1:0/1.4.1::haskell, ebuild scheduled for merge) ^^ ^^^^^ >=dev-haskell/x509-1.7.2:=[profile?] required by (dev-haskell/x509-store-1.6.6:0/1.6.6::haskell, ebuild scheduled for merge) ^^ ^^^^^ (dev-haskell/x509-1.5.1:0/1.5.1::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/x509-1.6:=[profile?] required by (dev-haskell/x509-system-1.5.0:0/1.5.0::haskell, ebuild scheduled for merge) ^ ^^^ ^ <dev-haskell/x509-1.6:=[profile?] required by (dev-haskell/x509-store-1.5.0:0/1.5.0::haskell, ebuild scheduled for merge) ^ ^^^ ^ dev-haskell/conduit:0 (dev-haskell/conduit-1.3.1:0/1.3.1::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-1.6.0:0/1.6.0::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-static-1.6.0.1:0/1.6.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/conduit-extra-1.3.0:0/1.3.0::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/xml-conduit-1.8.0.1:0/1.8.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/yesod-core-1.6.11:0/1.6.11::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/aws-0.20:0/0.20::haskell, ebuild scheduled for merge) ^^ ^^^ (dev-haskell/conduit-1.2.8:0/1.2.8::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/conduit-1.3:=[profile?] required by (dev-haskell/sandi-0.4.0:0/0.4.0::gentoo, ebuild scheduled for merge) ^ ^^^ ^ dev-haskell/resourcet:0 (dev-haskell/resourcet-1.2.2:0/1.2.2::haskell, ebuild scheduled for merge) pulled in by >=dev-haskell/resourcet-1.1.10:=[profile?] required by (dev-haskell/persistent-2.9.1:0/2.9.1::haskell, ebuild scheduled for merge) ^^ ^^^^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/xml-conduit-1.8.0.1:0/1.8.0.1::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/yesod-core-1.6.11:0/1.6.11::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/aws-0.20:0/0.20::haskell, ebuild scheduled for merge) ^^ ^^^ >=dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/conduit-1.3.1:0/1.3.1::haskell, ebuild scheduled for merge) ^^ ^^^ (dev-haskell/resourcet-1.1.7.4:0/1.1.7.4::gentoo, ebuild scheduled for merge) pulled in by <dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/wai-extra-3.0.15.1:0/3.0.15.1::gentoo, ebuild scheduled for merge) ^ ^^^ ^ <dev-haskell/resourcet-1.2:=[profile?] required by (dev-haskell/conduit-1.2.8:0/1.2.8::gentoo, ebuild scheduled for merge) ^ ^^^ ^