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

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

                Dates

                • Created:
                  Updated:
                  Resolved: