Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support GHC 8.6 #230

Closed
kozross opened this issue Dec 29, 2018 · 5 comments · Fixed by #249
Closed

Support GHC 8.6 #230

kozross opened this issue Dec 29, 2018 · 5 comments · Fixed by #249

Comments

@kozross
Copy link

kozross commented Dec 29, 2018

GHC 8.6 has been out for a while now, and it would be really good to have support for it.

@agentm
Copy link
Owner

agentm commented Jan 7, 2019

Distributed Haskell will be holding us back again here. I'll submit pull requests to those modules.

@kozross
Copy link
Author

kozross commented Sep 29, 2019

This is still an issue. I just got hit by this a second ago:

[koz@Emi ~]$ cabal new-install -O2 -w /home/koz/ghc-86/bin/ghc project-m36
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: base-4.12.0.0/installed-4.1... (user goal)
[__1] next goal: containers (user goal)
[__1] rejecting: containers-0.6.2.1, containers-0.6.1.1 (constraint from user
target requires ==0.6.0.1)
[__1] trying: containers-0.6.0.1/installed-0.6...
[__2] trying: project-m36-0.7 (user goal)
[__3] next goal: network-transport-tcp (dependency of project-m36)
[__3] rejecting: network-transport-tcp-0.6.0 (conflict:
containers==0.6.0.1/installed-0.6..., network-transport-tcp => containers>=0.4
&& <0.6)
[__3] rejecting: network-transport-tcp-0.5.1, network-transport-tcp-0.5.0,
network-transport-tcp-0.4.2, network-transport-tcp-0.4.1,
network-transport-tcp-0.4.0, network-transport-tcp-0.3.1,
network-transport-tcp-0.3.0, network-transport-tcp-0.2.0.3,
network-transport-tcp-0.2.0.2, network-transport-tcp-0.2.0.1,
network-transport-tcp-0.2.0 (conflict: project-m36 =>
network-transport-tcp>=0.6.0)
[__3] fail (backjumping, conflict set: containers, network-transport-tcp,
project-m36)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: containers, network-transport-tcp,
project-m36, base
Try running with --minimize-conflict-set to improve the error message.

Edit: Seemingly this is a deeper issue. I tried this with --allow-newer, and got this:

# bunch of other build stuff
Failed to build cassava-0.5.2.0.
Build log (
/home/koz/.cabal/logs/ghc-8.6.5/cassava-0.5.2.0-9f63adb3866c2a7d0f423dc42ead43d8969a0f9012a9ebcddaa8b288087c941e.log
):
Configuring library for cassava-0.5.2.0..
Preprocessing library for cassava-0.5.2.0..
Building library for cassava-0.5.2.0..

src/Data/Csv/Conversion.hs:26:3: error:
     error: #error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
       26 | # error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
          |   ^~~~~
   |
26 | # error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
   |   ^

src/Data/Csv/Conversion.hs:100:0: error:
     warning: "MIN_VERSION_text_short" is not defined, evaluates to 0 [-Wundef]
      100 | #if MIN_VERSION_text_short(0,1,0)
          | 
    |
100 | #if MIN_VERSION_text_short(0,1,0)
    | ^

src/Data/Csv/Conversion.hs:100:0: error:
     error: missing binary operator before token "("
    |
100 | #if MIN_VERSION_text_short(0,1,0)
    | ^

src/Data/Csv/Conversion.hs:1031:0: error:
     warning: "MIN_VERSION_text_short" is not defined, evaluates to 0 [-Wundef]
     1031 | #if MIN_VERSION_text_short(0,1,0)
          | 
     |
1031 | #if MIN_VERSION_text_short(0,1,0)
     | ^

src/Data/Csv/Conversion.hs:1031:0: error:
     error: missing binary operator before token "("
     |
1031 | #if MIN_VERSION_text_short(0,1,0)
     | ^
`gcc' failed in phase `C pre-processor'. (Exit code: 1)
cabal: Failed to build cassava-0.5.2.0 (which is required by
exe:project-m36-websocket-server from project-m36-0.7, exe:Example-Hair from
project-m36-0.7 and others). See the build log above for details.

@agentm
Copy link
Owner

agentm commented Oct 4, 2019

This is actually a fixed cassava issue. You just need to perform a cabal new-update to get the latest.

@kozross
Copy link
Author

kozross commented Oct 4, 2019

@agentm I tried that - same problem:

[koz@Emi ~]$ cabal new-update
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
    cabal v2-update 'hackage.haskell.org,2019-09-27T18:27:53Z'
[koz@Emi ~]$ cabal new-install -O2 -w /home/koz/ghc-86/bin/ghc project-m36
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: base-4.12.0.0/installed-4.1... (user goal)
[__1] next goal: containers (user goal)
[__1] rejecting: containers-0.6.2.1, containers-0.6.1.1 (constraint from user
target requires ==0.6.0.1)
[__1] trying: containers-0.6.0.1/installed-0.6...
[__2] trying: project-m36-0.7 (user goal)
[__3] next goal: network-transport-tcp (dependency of project-m36)
[__3] rejecting: network-transport-tcp-0.6.0 (conflict:
containers==0.6.0.1/installed-0.6..., network-transport-tcp => containers>=0.4
&& <0.6)
[__3] rejecting: network-transport-tcp-0.5.1, network-transport-tcp-0.5.0,
network-transport-tcp-0.4.2, network-transport-tcp-0.4.1,
network-transport-tcp-0.4.0, network-transport-tcp-0.3.1,
network-transport-tcp-0.3.0, network-transport-tcp-0.2.0.3,
network-transport-tcp-0.2.0.2, network-transport-tcp-0.2.0.1,
network-transport-tcp-0.2.0 (conflict: project-m36 =>
network-transport-tcp>=0.6.0)
[__3] fail (backjumping, conflict set: containers, network-transport-tcp,
project-m36)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: containers, network-transport-tcp,
project-m36, base
Try running with --minimize-conflict-set to improve the error message.

[koz@Emi ~]$ cabal new-install -O2 -w /home/koz/ghc-86/bin/ghc project-m36 --allow-newer
Resolving dependencies...
Build profile: -w ghc-8.6.5 -O2
In order, the following will be built (use -v for more details):
 - Glob-0.10.0 (lib) (requires build)
 - MonadRandom-0.5.1.1 (lib) (requires build)
 - blaze-markup-0.8.2.3 (lib) (requires download & build)
 - cabal-doctest-1.0.8 (lib) (requires download & build)
 - cassava-0.5.2.0 (lib) (requires build)
 - distributed-static-0.3.9 (lib) (requires build)
 - exceptions-0.10.3 (lib) (requires build)
 - fast-logger-3.0.0 (lib) (requires download & build)
 - http2-2.0.3 (lib) (requires build)
 - iproute-1.7.7 (lib) (requires build)
 - math-functions-0.3.3.0 (lib) (requires build)
 - mmorph-1.1.3 (lib) (requires build)
 - monad-parallel-0.7.2.3 (lib) (requires build)
 - mono-traversable-1.0.13.0 (lib) (requires download & build)
 - network-transport-tcp-0.6.0 (lib) (requires build)
 - optparse-applicative-0.15.1.0 (lib) (requires build)
 - quickcheck-instances-0.3.22 (lib) (requires build)
 - regex-posix-0.96.0.0 (lib) (requires download & build)
 - rset-1.0.0 (lib) (requires build)
 - simple-sendfile-0.2.28 (lib) (requires build)
 - streaming-commons-0.2.1.1 (lib) (requires build)
 - transformers-base-0.4.5.2 (lib) (requires build)
 - universe-reverse-instances-1.1 (lib) (requires build)
 - uuid-1.3.13 (lib) (requires build)
 - vector-builder-0.3.8 (lib) (requires download & build)
 - random-shuffle-0.0.4 (lib:random-shuffle) (requires build)
 - blaze-html-0.9.1.2 (lib) (requires download & build)
 - http-api-data-0.4.1 (lib:http-api-data) (requires build)
 - distributive-0.6.1 (lib:distributive) (requires build)
 - temporary-1.3 (lib) (requires build)
 - resourcet-1.2.2 (lib) (requires build)
 - distributed-process-0.7.4 (lib) (requires build)
 - wai-logger-2.3.6 (lib:wai-logger) (requires download & build)
 - mwc-random-0.14.0.0 (lib) (requires build)
 - regex-compat-0.95.2.0 (lib) (requires download & build)
 - websockets-0.12.5.3 (lib) (requires build)
 - warp-3.3.3 (lib) (requires download & build)
 - monad-control-1.0.2.3 (lib:monad-control) (requires build)
 - comonad-5.0.5 (lib:comonad) (requires build)
 - gnuplot-0.5.6 (lib) (requires build)
 - conduit-1.3.1.1 (lib) (requires build)
 - distributed-process-extras-0.3.5 (lib) (requires build)
 - distributed-process-async-0.2.6 (lib) (requires build)
 - wai-extra-3.0.28 (lib) (requires build)
 - bifunctors-5.5.5 (lib) (requires build)
 - distributed-process-client-server-0.2.5.1 (lib) (requires build)
 - scotty-0.11.5 (lib) (requires build)
 - semigroupoids-5.3.3 (lib:semigroupoids) (requires build)
 - profunctors-5.5 (lib) (requires build)
 - lattices-2.0.1 (lib) (requires build)
 - foldl-1.4.5 (lib) (requires build)
 - either-5.0.1.1 (lib) (requires build)
 - data-interval-1.3.1 (lib) (requires build)
 - list-t-1.0.4 (lib) (requires download & build)
 - deferred-folds-0.9.10.1 (lib) (requires build)
 - primitive-extras-0.8 (lib) (requires build)
 - stm-hamt-1.2.0.4 (lib) (requires build)
 - stm-containers-1.1.0.4 (lib) (requires build)
 - project-m36-0.7 (lib) (requires build)
 - project-m36-0.7 (exe:Example-CustomTupleable) (requires build)
 - project-m36-0.7 (exe:Example-Hair) (requires build)
 - project-m36-0.7 (exe:Example-OutOfTheTarpit) (requires build)
 - project-m36-0.7 (exe:tutd) (requires build)
 - project-m36-0.7 (exe:project-m36-websocket-server) (requires build)
 - project-m36-0.7 (exe:bigrel) (requires build)
 - project-m36-0.7 (exe:Example-SimpleClient) (requires build)
 - project-m36-0.7 (exe:project-m36-server) (requires build)
 - project-m36-0.7 (exe:handles) (requires build)
 - project-m36-0.7 (exe:Example-Blog) (requires build)
Downloading  vector-builder-0.3.8
Starting     MonadRandom-0.5.1.1 (lib)
Starting     distributed-static-0.3.9 (lib)
Starting     exceptions-0.10.3 (lib)
Starting     cassava-0.5.2.0 (lib)
Starting     Glob-0.10.0 (lib)
Downloaded   vector-builder-0.3.8
Downloading  blaze-markup-0.8.2.3
Downloaded   blaze-markup-0.8.2.3
Downloading  blaze-html-0.9.1.2
Starting     blaze-markup-0.8.2.3 (lib)
Downloaded   blaze-html-0.9.1.2
Downloading  fast-logger-3.0.0
Building     exceptions-0.10.3 (lib)
Building     distributed-static-0.3.9 (lib)
Building     MonadRandom-0.5.1.1 (lib)
Downloaded   fast-logger-3.0.0
Downloading  mono-traversable-1.0.13.0
Starting     fast-logger-3.0.0 (lib)
Building     cassava-0.5.2.0 (lib)
Building     Glob-0.10.0 (lib)
Downloaded   mono-traversable-1.0.13.0
Downloading  regex-posix-0.96.0.0
Downloaded   regex-posix-0.96.0.0
Downloading  regex-compat-0.95.2.0
Starting     http2-2.0.3 (lib)
Downloaded   regex-compat-0.95.2.0
Downloading  warp-3.3.3
Building     blaze-markup-0.8.2.3 (lib)
Downloaded   warp-3.3.3
Downloading  cabal-doctest-1.0.8
Downloaded   cabal-doctest-1.0.8
Downloading  list-t-1.0.4
Starting     cabal-doctest-1.0.8 (lib)
Downloaded   list-t-1.0.4
Downloading  wai-logger-2.3.6
Haddock      distributed-static-0.3.9 (lib)
Downloaded   wai-logger-2.3.6
Building     fast-logger-3.0.0 (lib)
Haddock      exceptions-0.10.3 (lib)
Haddock      MonadRandom-0.5.1.1 (lib)
Building     http2-2.0.3 (lib)
Installing   distributed-static-0.3.9 (lib)
Haddock      Glob-0.10.0 (lib)
Building     cabal-doctest-1.0.8 (lib)
Installing   exceptions-0.10.3 (lib)
Installing   MonadRandom-0.5.1.1 (lib)
Completed    distributed-static-0.3.9 (lib)
Haddock      fast-logger-3.0.0 (lib)
Installing   Glob-0.10.0 (lib)
Completed    exceptions-0.10.3 (lib)
Haddock      cabal-doctest-1.0.8 (lib)
Installing   fast-logger-3.0.0 (lib)
Completed    MonadRandom-0.5.1.1 (lib)
Haddock      blaze-markup-0.8.2.3 (lib)
Installing   cabal-doctest-1.0.8 (lib)
Completed    Glob-0.10.0 (lib)
Installing   blaze-markup-0.8.2.3 (lib)
Completed    fast-logger-3.0.0 (lib)
Completed    cabal-doctest-1.0.8 (lib)
Completed    blaze-markup-0.8.2.3 (lib)
Haddock      http2-2.0.3 (lib)
Installing   http2-2.0.3 (lib)
Completed    http2-2.0.3 (lib)

Failed to build cassava-0.5.2.0.
Build log (
/home/koz/.cabal/logs/ghc-8.6.5/cassava-0.5.2.0-9f63adb3866c2a7d0f423dc42ead43d8969a0f9012a9ebcddaa8b288087c941e.log
):
Configuring library for cassava-0.5.2.0..
Preprocessing library for cassava-0.5.2.0..
Building library for cassava-0.5.2.0..

src/Data/Csv/Conversion.hs:26:3: error:
     error: #error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
       26 | # error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
          |   ^~~~~
   |
26 | # error **INVARIANT BROKEN** Detected invalid combination of `text-short` and `bytestring` versions. Please verify the `pre-bytestring-0.10-4` flag-logic in the .cabal file wasn't elided.
   |   ^

src/Data/Csv/Conversion.hs:100:0: error:
     warning: "MIN_VERSION_text_short" is not defined, evaluates to 0 [-Wundef]
      100 | #if MIN_VERSION_text_short(0,1,0)
          | 
    |
100 | #if MIN_VERSION_text_short(0,1,0)
    | ^

src/Data/Csv/Conversion.hs:100:0: error:
     error: missing binary operator before token "("
    |
100 | #if MIN_VERSION_text_short(0,1,0)
    | ^

src/Data/Csv/Conversion.hs:1031:0: error:
     warning: "MIN_VERSION_text_short" is not defined, evaluates to 0 [-Wundef]
     1031 | #if MIN_VERSION_text_short(0,1,0)
          | 
     |
1031 | #if MIN_VERSION_text_short(0,1,0)
     | ^

src/Data/Csv/Conversion.hs:1031:0: error:
     error: missing binary operator before token "("
     |
1031 | #if MIN_VERSION_text_short(0,1,0)
     | ^
`gcc' failed in phase `C pre-processor'. (Exit code: 1)
cabal: Failed to build cassava-0.5.2.0 (which is required by
exe:Example-CustomTupleable from project-m36-0.7, exe:Example-Hair from
project-m36-0.7 and others). See the build log above for details.

@agentm
Copy link
Owner

agentm commented Oct 5, 2019

Try deleting your the cassava cabal source cache under .cabal/store. I suspect that the package was updated without bumping the version.

Also, try downloading and building the cassava source for 0.5.2.0 manually. I suspect that you will not hit the issue.

agentm added a commit that referenced this issue Jan 28, 2020
resolves #230

# Conflicts:
#	project-m36.cabal
#	src/bin/ProjectM36/Server/WebSocket.hs
#	src/bin/TutorialD/Interpreter/Base.hs
#	src/bin/TutorialD/Interpreter/RelationalExpr.hs
#	src/bin/benchmark/Handles.hs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants