Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4634

Haskell builds with older cabal cannot reconcile complex version requirements

    XMLWordPrintableJSON

Details

    Description

      The cabal version in Ubuntu Xenial is 1.22.6.0 and it has been failing on CI since HTTP-4000 changed to allow "network < 2.8" - the resulting output is:

      root@48ae26f5e4f3:/thrift/src/lib/hs# make
      /usr/bin/cabal update
      Downloading the latest package list from hackage.haskell.org
      Skipping download: Local and remote files match.
      /usr/bin/cabal install
      Resolving dependencies...
      cabal: Could not resolve dependencies:
      trying: thrift-1.0.0 (user goal)
      trying: network-2.8.0.0 (dependency of thrift-1.0.0)
      trying: HTTP-4000.3.12 (dependency of thrift-1.0.0)
      trying: HTTP-4000.3.12:-conduit10
      trying: HTTP-4000.3.12:-mtl1
      rejecting: HTTP-4000.3.12:+network-uri (conflict: network==2.8.0.0,
      HTTP-4000.3.12:network-uri => network>=2.6 && <2.8)
      rejecting: HTTP-4000.3.12:-network-uri (conflict: network==2.8.0.0,
      HTTP-4000.3.12:network-uri => network>=2.2.1.8 && <2.6)
      Backjump limit reached (change with --max-backjumps).
      Makefile:639: recipe for target 'all-local' failed
      make: *** [all-local] Error 1
      

      thrift has no direct dependency on network 2.8.0.0 - why it is being selected first is beyond me. It should back off to 2.7.0.2 once it sees the network-uri set of dependencies. It looks like the cabal in Ubuntu Bionic doesn't have this problem.

      Attachments

        Issue Links

          Activity

            People

              jking3 James E. King III
              jking3 James E. King III
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: