Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 677124 - dev-vcs/git-annex from haskell overlay is not installable
Summary: dev-vcs/git-annex from haskell overlay is not installable
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Overlays (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-02 17:28 UTC by Andriy Utkin (RETIRED)
Modified: 2019-02-18 21:38 UTC (History)
0 users

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


Attachments
terminal log of emerge invocations (emerge_git-annex.log,175.13 KB, text/x-log)
2019-02-02 17:28 UTC, Andriy Utkin (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andriy Utkin (RETIRED) gentoo-dev 2019-02-02 17:28:50 UTC
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)
    ^                      ^^^ ^
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2019-02-02 17:39:03 UTC
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.
Comment 2 Andriy Utkin (RETIRED) gentoo-dev 2019-02-03 19:11:02 UTC
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)
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-02-03 19:46:00 UTC
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"
Comment 4 Andriy Utkin (RETIRED) gentoo-dev 2019-02-12 15:29:34 UTC
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)
Comment 5 Andriy Utkin (RETIRED) gentoo-dev 2019-02-12 15:30:52 UTC
Is there some global USE or FEATURES flag which makes Haskell base packages use binaries provided by upstream, instead of bootstraping much stuff?
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2019-02-13 07:34:51 UTC
(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
Comment 7 Andriy Utkin (RETIRED) gentoo-dev 2019-02-13 09:33:27 UTC
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.
Comment 8 Andriy Utkin (RETIRED) gentoo-dev 2019-02-13 09:45:54 UTC
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  ......... ...... ..."
Comment 9 Andriy Utkin (RETIRED) gentoo-dev 2019-02-13 10:30:19 UTC
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)
    ^                      ^^^ ^
Comment 10 Andriy Utkin (RETIRED) gentoo-dev 2019-02-13 13:15:51 UTC
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.
Comment 11 Sergei Trofimovich (RETIRED) gentoo-dev 2019-02-17 17:07:14 UTC
(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
Comment 12 Andriy Utkin (RETIRED) gentoo-dev 2019-02-18 18:44:46 UTC
Facepalm for me.

Thanks.
Comment 13 Sergei Trofimovich (RETIRED) gentoo-dev 2019-02-18 21:38:01 UTC
No problem. Maybe we should advertise it more on other wiki or something like that.