Resolving dependencies... cabal: Could not resolve dependencies: [__0] next goal: fswait (user goal) [__0] rejecting: fswait-1.1.0 (constraint from user target requires ==1.0.0) [__0] trying: fswait-1.0.0 [__1] next goal: turtle (dependency of fswait) [__1] rejecting: turtle-1.5.22 (conflict: fswait => turtle>=1.2.8 && <1.3) [__1] skipping: turtle-1.5.21, turtle-1.5.20, turtle-1.5.19, turtle-1.5.18, turtle-1.5.17, turtle-1.5.16, turtle-1.5.15, turtle-1.5.14, turtle-1.5.13, turtle-1.5.12, turtle-1.5.11, turtle-1.5.10, turtle-1.5.9, turtle-1.5.8, turtle-1.5.7, turtle-1.5.6, turtle-1.5.5, turtle-1.5.4, turtle-1.5.3, turtle-1.5.2, turtle-1.5.1, turtle-1.5.0, turtle-1.4.6, turtle-1.4.5, turtle-1.4.4, turtle-1.4.3, turtle-1.4.2, turtle-1.4.1, turtle-1.4.0, turtle-1.3.6, turtle-1.3.5, turtle-1.3.4, turtle-1.3.3, turtle-1.3.2, turtle-1.3.1, turtle-1.3.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=1.2.8 && <1.3' from 'fswait') [__1] trying: turtle-1.2.8 [__2] next goal: unix (dependency of turtle) [__2] rejecting: unix-2.7.2.2/installed-2.7.2.2 (conflict: turtle => time<1.7, unix => time==1.9.3/installed-1.9.3) [__2] trying: unix-2.7.2.2 [__3] trying: bytestring-0.10.10.0/installed-0.10.10.0 (dependency of unix) [__4] trying: deepseq-1.4.4.0/installed-1.4.4.0 (dependency of bytestring) [__5] trying: array-0.5.4.0/installed-0.5.4.0 (dependency of deepseq) [__6] next goal: time (dependency of turtle) [__6] rejecting: time-1.9.3/installed-1.9.3 (conflict: turtle => time<1.7) [__6] skipping: time-1.11.1.2, time-1.11.1.1, time-1.11.1, time-1.11, time-1.10, time-1.9.3, time-1.9.2, time-1.9.1, time-1.9, time-1.8.0.4, time-1.8.0.3, time-1.8.0.2, time-1.8.0.1, time-1.8, time-1.7.0.1, time-1.7 (has the same characteristics that caused the previous version to fail: excluded by constraint '<1.7' from 'turtle') [__6] rejecting: time-1.6.0.1 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base>=4.7 && <4.13) [__6] rejecting: time-1.6 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base>=4.8 && <4.13) [__6] rejecting: time-1.5.0.1 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base>=4.4 && <4.13) [__6] rejecting: time-1.5, time-1.4.2, time-1.4.1 (conflict: bytestring => deepseq==1.4.4.0/installed-1.4.4.0, time => deepseq>=1.1 && <1.4) [__6] rejecting: time-1.4.0.2 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base>=4.4 && <4.7) [__6] rejecting: time-1.4.0.1, time-1.4, time-1.3, time-1.2.0.5, time-1.2.0.4, time-1.2.0.3, time-1.2.0.2, time-1.2.0.1 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base>=4 && <4.7) [__6] rejecting: time-1.2 (conflict: bytestring => base==4.14.1.0/installed-4.14.1.0, time => base(>=4 && <4.7) && <0) [__6] rejecting: time-1.1.4 (conflict: unix => time>=1.2 && <1.12) [__6] skipping: time-1.1.3, time-1.1.2.4, time-1.1.2.3, time-1.1.2.2, time-1.1.2.1, time-1.1.2.0, time-1.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=1.2 && <1.12' from 'unix') [__6] fail (backjumping, conflict set: bytestring, time, turtle, unix) After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: base, turtle, time, deepseq, fswait, array, bytestring, unix Try running with --minimize-conflict-set to improve the error message.