[MacPorts] #68303: shellcheck @0.9.0: Error: cabal: Could not resolve dependencies (was: shellcheck will not build in the default variant with ghc 9.6 with cabal)

MacPorts noreply at macports.org
Sun Oct 1 20:29:21 UTC 2023


#68303: shellcheck @0.9.0: Error: cabal: Could not resolve dependencies
-------------------------+------------------------
  Reporter:  breiter     |      Owner:  neverpanic
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.8.1
Resolution:              |   Keywords:
      Port:  shellcheck  |
-------------------------+------------------------
Changes (by ryandesign):

 * status:  new => assigned
 * keywords:  cabal stack ghc =>
 * owner:  (none) => neverpanic


Old description:

> After a bit of a struggle to get GHC to install
> (https://trac.macports.org/ticket/68302) I ran into another problem where
> shellcheck build fails because cabal cannot build with cabal, which is
> the default variant.
>

> {{{
> Resolving dependencies...
> Error: cabal: Could not resolve dependencies:
> [__0] trying: ShellCheck-0.9.0 (user goal)
> [__1] next goal: transformers (dependency of ShellCheck)
> [__1] rejecting: transformers-0.6.1.0/installed-0.6.1.0 (conflict:
> ShellCheck
> => transformers>=0.4.2 && <0.6)
> [__1] skipping: transformers-0.6.1.1, transformers-0.6.1.0,
> transformers-0.6.0.6, transformers-0.6.0.2 (has the same characteristics
> that
> caused the previous version to fail: excluded by constraint '>=0.4.2 &&
> <0.6'
> from 'ShellCheck')
> [__1] trying: transformers-0.5.6.2
> [__2] trying: regex-tdfa-1.3.2.2 (dependency of ShellCheck)
> [__3] trying: text-2.0.2/installed-2.0.2 (dependency of regex-tdfa)
> [__4] trying: base-4.18.0.0/installed-4.18.0.0 (dependency of ShellCheck)
> [__5] next goal: aeson (dependency of ShellCheck)
> [__5] rejecting: aeson-2.2.0.0 (conflict: ShellCheck => aeson>=1.4.0 &&
> <2.2)
> [__5] trying: aeson-2.1.2.1
> [__6] trying: semialign-1.3 (dependency of aeson)
> [__7] trying: semialign:+semigroupoids
> [__8] next goal: semigroupoids (dependency of semialign +semigroupoids)
> [__8] rejecting: semigroupoids-6.0.0.1 (conflict: transformers==0.5.6.2,
> semigroupoids => transformers>=0.6.1.0 && <0.7)
> [__8] rejecting: semigroupoids-5.3.7, semigroupoids-5.3.6 (conflict: text
> =>
> base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.18)
> [__8] rejecting: semigroupoids-5.3.5, semigroupoids-5.3.4 (conflict: text
> =>
> base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.16)
> [__8] rejecting: semigroupoids-5.3.3, semigroupoids-5.3.2 (conflict: text
> =>
> base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.15)
> [__8] rejecting: semigroupoids-5.3.1, semigroupoids-5.2.2,
> semigroupoids-5.2.1, semigroupoids-5.2, semigroupoids-5.1,
> semigroupoids-5.0.1, semigroupoids-5.0.0.4, semigroupoids-5.0.0.3,
> semigroupoids-5.0.0.2, semigroupoids-5.0.0.1, semigroupoids-5,
> semigroupoids-4.3, semigroupoids-4.2, semigroupoids-4.0.4,
> semigroupoids-4.0.3, semigroupoids-4.0.2.1, semigroupoids-4.0.2,
> semigroupoids-4.0.1, semigroupoids-4.0, semigroupoids-3.1,
> semigroupoids-3.0.3, semigroupoids-3.0.2, semigroupoids-3.0.1,
> semigroupoids-3.0.0.2, semigroupoids-3.0.0.1, semigroupoids-3.0,
> semigroupoids-1.3.4, semigroupoids-1.3.3, semigroupoids-1.3.2.1,
> semigroupoids-1.3.2, semigroupoids-1.3.1.2, semigroupoids-1.3.1.1,
> semigroupoids-1.3.1, semigroupoids-1.3, semigroupoids-1.2.6.2,
> semigroupoids-1.2.6.1, semigroupoids-1.2.6, semigroupoids-1.2.5,
> semigroupoids-1.2.4, semigroupoids-1.2.2.4, semigroupoids-1.2.2.3,
> semigroupoids-1.2.2.2, semigroupoids-1.2.2.1, semigroupoids-1.2.2,
> semigroupoids-1.2.1, semigroupoids-1.2.0, semigroupoids-1.1.3,
> semigroupoids-1.1.2, semigroupoids-1.1.1, semigroupoids-1.1.0,
> semigroupoids-1.0.0 (conflict: semialign +semigroupoids =>
> semigroupoids>=5.3.2 && <6.1)
> [__8] rejecting: semigroupoids-6 (conflict: text =>
> base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.9 && <4.18)
> [__8] rejecting: semigroupoids-5.3, semigroupoids-4.5 (conflict:
> semialign
> +semigroupoids => semigroupoids>=5.3.2 && <6.1)
> [__8] fail (backjumping, conflict set: semialign, semigroupoids, text,
> transformers, semialign:semigroupoids)
> After searching the rest of the dependency tree exhaustively, these were
> the
> goals I've had most trouble fulfilling: aeson, ShellCheck, text, base,
> semigroupoids, semialign, semialign:semigroupoids, regex-tdfa,
> transformers
> Try running with --minimize-conflict-set to improve the error message.
> }}}
>
> https://github.com/koalaman/shellcheck/issues/2734
>
> The problem is that the ghc version that is bundled with macports is
> newer than the 0.90 tag of shellcheck was designed to build with.
>
> This patch from main will fix the constraints for cabal to ghc 9.6.1:
>
> https://github.com/koalaman/shellcheck/commit/b3932dfa10804434fb8c15dc32e428c5a1c3bfa4
>
> Otherwise maybe the +stack variant should be default.

New description:

 After a bit of a struggle to get GHC to install (#68302) I ran into
 another problem where shellcheck build fails because cabal cannot build
 with cabal, which is the default variant.


 {{{
 Resolving dependencies...
 Error: cabal: Could not resolve dependencies:
 [__0] trying: ShellCheck-0.9.0 (user goal)
 [__1] next goal: transformers (dependency of ShellCheck)
 [__1] rejecting: transformers-0.6.1.0/installed-0.6.1.0 (conflict:
 ShellCheck
 => transformers>=0.4.2 && <0.6)
 [__1] skipping: transformers-0.6.1.1, transformers-0.6.1.0,
 transformers-0.6.0.6, transformers-0.6.0.2 (has the same characteristics
 that
 caused the previous version to fail: excluded by constraint '>=0.4.2 &&
 <0.6'
 from 'ShellCheck')
 [__1] trying: transformers-0.5.6.2
 [__2] trying: regex-tdfa-1.3.2.2 (dependency of ShellCheck)
 [__3] trying: text-2.0.2/installed-2.0.2 (dependency of regex-tdfa)
 [__4] trying: base-4.18.0.0/installed-4.18.0.0 (dependency of ShellCheck)
 [__5] next goal: aeson (dependency of ShellCheck)
 [__5] rejecting: aeson-2.2.0.0 (conflict: ShellCheck => aeson>=1.4.0 &&
 <2.2)
 [__5] trying: aeson-2.1.2.1
 [__6] trying: semialign-1.3 (dependency of aeson)
 [__7] trying: semialign:+semigroupoids
 [__8] next goal: semigroupoids (dependency of semialign +semigroupoids)
 [__8] rejecting: semigroupoids-6.0.0.1 (conflict: transformers==0.5.6.2,
 semigroupoids => transformers>=0.6.1.0 && <0.7)
 [__8] rejecting: semigroupoids-5.3.7, semigroupoids-5.3.6 (conflict: text
 =>
 base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.18)
 [__8] rejecting: semigroupoids-5.3.5, semigroupoids-5.3.4 (conflict: text
 =>
 base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.16)
 [__8] rejecting: semigroupoids-5.3.3, semigroupoids-5.3.2 (conflict: text
 =>
 base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.3 && <4.15)
 [__8] rejecting: semigroupoids-5.3.1, semigroupoids-5.2.2,
 semigroupoids-5.2.1, semigroupoids-5.2, semigroupoids-5.1,
 semigroupoids-5.0.1, semigroupoids-5.0.0.4, semigroupoids-5.0.0.3,
 semigroupoids-5.0.0.2, semigroupoids-5.0.0.1, semigroupoids-5,
 semigroupoids-4.3, semigroupoids-4.2, semigroupoids-4.0.4,
 semigroupoids-4.0.3, semigroupoids-4.0.2.1, semigroupoids-4.0.2,
 semigroupoids-4.0.1, semigroupoids-4.0, semigroupoids-3.1,
 semigroupoids-3.0.3, semigroupoids-3.0.2, semigroupoids-3.0.1,
 semigroupoids-3.0.0.2, semigroupoids-3.0.0.1, semigroupoids-3.0,
 semigroupoids-1.3.4, semigroupoids-1.3.3, semigroupoids-1.3.2.1,
 semigroupoids-1.3.2, semigroupoids-1.3.1.2, semigroupoids-1.3.1.1,
 semigroupoids-1.3.1, semigroupoids-1.3, semigroupoids-1.2.6.2,
 semigroupoids-1.2.6.1, semigroupoids-1.2.6, semigroupoids-1.2.5,
 semigroupoids-1.2.4, semigroupoids-1.2.2.4, semigroupoids-1.2.2.3,
 semigroupoids-1.2.2.2, semigroupoids-1.2.2.1, semigroupoids-1.2.2,
 semigroupoids-1.2.1, semigroupoids-1.2.0, semigroupoids-1.1.3,
 semigroupoids-1.1.2, semigroupoids-1.1.1, semigroupoids-1.1.0,
 semigroupoids-1.0.0 (conflict: semialign +semigroupoids =>
 semigroupoids>=5.3.2 && <6.1)
 [__8] rejecting: semigroupoids-6 (conflict: text =>
 base==4.18.0.0/installed-4.18.0.0, semigroupoids => base>=4.9 && <4.18)
 [__8] rejecting: semigroupoids-5.3, semigroupoids-4.5 (conflict: semialign
 +semigroupoids => semigroupoids>=5.3.2 && <6.1)
 [__8] fail (backjumping, conflict set: semialign, semigroupoids, text,
 transformers, semialign:semigroupoids)
 After searching the rest of the dependency tree exhaustively, these were
 the
 goals I've had most trouble fulfilling: aeson, ShellCheck, text, base,
 semigroupoids, semialign, semialign:semigroupoids, regex-tdfa,
 transformers
 Try running with --minimize-conflict-set to improve the error message.
 }}}

 https://github.com/koalaman/shellcheck/issues/2734

 The problem is that the ghc version that is bundled with macports is newer
 than the 0.90 tag of shellcheck was designed to build with.

 This patch from main will fix the constraints for cabal to ghc 9.6.1:

 https://github.com/koalaman/shellcheck/commit/b3932dfa10804434fb8c15dc32e428c5a1c3bfa4

 Otherwise maybe the +stack variant should be default.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/68303#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list