yesodweb / wai

Haskell Web Application Interface
MIT License
834 stars 263 forks source link

Dependency hell #772

Closed ip1981 closed 5 years ago

ip1981 commented 5 years ago

Guys, what is going on with the dependencies?

wai-extra-3.0.28 requires wai-logger (>=2.3.2 && <2.4) and fast-logger (>=2.4.5 && <2.5), while perfectly fitting wai-logger-2.3.6 requires fast-logger (>=3).

This is kind of a rant towards entire Haskell ecosystem with arbitrary unmotivated upper boundaries of non-existent releases :man_facepalming:.

TL:DR:

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: XXXXXXXXXXXXXX-0.1.0.0 (user goal)
[__1] trying: servant-server-0.16.2 (dependency of commenthub-api)
[__2] trying: wai-app-static-3.1.6.3 (dependency of servant-server)
[__3] trying: wai-extra-3.0.28 (dependency of wai-app-static)
[__4] trying: wai-logger-2.3.6 (dependency of wai-extra)
[__5] next goal: fast-logger (dependency of wai-extra)
[__5] rejecting: fast-logger-3.0.0 (conflict: wai-extra => fast-logger>=2.4.5
&& <2.5)
[__5] rejecting: fast-logger-2.4.17, fast-logger-2.4.16, fast-logger-2.4.15,
fast-logger-2.4.14, fast-logger-2.4.13, fast-logger-2.4.11,
fast-logger-2.4.10, fast-logger-2.4.9, fast-logger-2.4.8, fast-logger-2.4.7,
fast-logger-2.4.6, fast-logger-2.4.5 (conflict: wai-logger => fast-logger>=3)
[__5] rejecting: fast-logger-2.4.3, fast-logger-2.4.2, fast-logger-2.4.1,
fast-logger-2.4.0, fast-logger-2.3.1, fast-logger-2.3.0, fast-logger-2.2.3,
fast-logger-2.2.1, fast-logger-2.2.0, fast-logger-2.1.5, fast-logger-2.1.4,
fast-logger-2.1.3, fast-logger-2.1.2, fast-logger-2.1.1, fast-logger-2.1.0,
fast-logger-2.0.3, fast-logger-2.0.2, fast-logger-2.0.1, fast-logger-2.0.0,
fast-logger-0.3.3, fast-logger-0.3.2, fast-logger-0.3.1, fast-logger-0.3.0,
fast-logger-0.2.2, fast-logger-0.2.1, fast-logger-0.2.0, fast-logger-0.0.2,
fast-logger-0.0.1, fast-logger-0.0.0 (conflict: wai-extra =>
fast-logger>=2.4.5 && <2.5)
[__5] rejecting: fast-logger-2.4.12 (conflict: wai-logger => fast-logger>=3)
[__5] rejecting: fast-logger-2.4.4 (conflict: wai-extra => fast-logger>=2.4.5
&& <2.5)
[__5] fail (backjumping, conflict set: fast-logger, wai-extra, wai-logger)
Backjump limit reached (currently 2000, change with --max-backjumps or try to
run with --reorder-goals).
ip1981 commented 5 years ago

The least that can be done is not to set version constraints on indirect dependencies.

kazu-yamamoto commented 5 years ago

@snoyberg wai-extra should fix the boundary. @ip1981 As workaround, you can use the --allow-newer option to cabal and allow-newer: true to stack.

snoyberg commented 5 years ago

The original report is far too confusing for me to follow. The original reporter would be better off opening a PR.

On Thu, Oct 10, 2019, 12:58 AM Kazu Yamamoto notifications@github.com wrote:

@snoyberg https://github.com/snoyberg wai-extra should fix the boundary. @ip1981 https://github.com/ip1981 As workaround, you can use the --allow-newer option to cabal and allow-newer: true to stack.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/yesodweb/wai/issues/772?email_source=notifications&email_token=AAAMCB42LGWSN4LWFEFSVF3QNZHWTA5CNFSM4I7AXPG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAZRTPI#issuecomment-540219837, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMCB4SOB2R72C7O4ZRCBDQNZHWTANCNFSM4I7AXPGQ .