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

Fails to install on haskell 8.8.1 #153

Closed
CrypticSloth opened this issue Feb 12, 2020 · 7 comments
Closed

Fails to install on haskell 8.8.1 #153

CrypticSloth opened this issue Feb 12, 2020 · 7 comments
Assignees
Labels

Comments

@CrypticSloth
Copy link

Rattletrap now fails to install with haskell because of a dependency issue with baselines 0.5, which is not compatible with haskell 8.8.1.

@tfausak
Copy link
Owner

tfausak commented Feb 12, 2020

What is baselines?

As far as I know Rattletrap can be built with GHC 8.8.x. This commit added support: 7956286.

@CrypticSloth
Copy link
Author

My apologies, I mean't the dependency binary-bits 0.5. The build test shows a fail here: https://matrix.hackage.haskell.org/#/package/rattletrap

@tfausak
Copy link
Owner

tfausak commented Feb 12, 2020

I can't figure out how to get a build log from the Hackage Matrix Builder. Regardless, I think what it's telling me is that rattletrap-9.0.7 failed to build with GHC 8.8.1 because some of its dependencies fail to build with that version of GHC.

In particular binary-bits-0.5 fails because it claims to support base == 4.* but really only supports base < 4.13, at least according to this issue: kolmodin/binary-bits#14. (base-4.13.0.0 is part of GHC 8.8.1.)

If all that's accurate, I've been aware of this for a while. In fact I have an open PR against binary-bits to add support for GHC 8.8.1: kolmodin/binary-bits#13. When building locally against GHC 8.8.1, I use a custom Stackage snapshot that uses my fork of binary-bits to get things building. I'm not sure how to do that with Cabal, but it would help the Hackage Matrix Builder anyway.

As far as I can tell there's nothing for me to do here. Rattletrap does indeed support GHC 8.8.1, even if some of its dependencies don't.

@CrypticSloth
Copy link
Author

Forgive me for probably being naive, I am not very familiar with different haskell install processes. Are you saying then that the solution is to use your forked version of binary bits until this issue is fixed on their end?

This being said, because of this issue, the instructions to install rattletrap via Stack in the README do not work I believe because of this dependency issue. Maybe adding some instructions on how to get the custom snapshot you use of Stackage would be helpful? Following the install instructions, I tried installing via Stack in both windows and linux Ubuntu as well as the .exe and both did not work for me.

@tfausak
Copy link
Owner

tfausak commented Feb 13, 2020

Sorry, the instructions in the README are out of date. If you want to build Rattletrap from source, you can either do stack --resolver lts-14.25 install rattletrap or clone the Git repo locally and run stack build.

If you really want to build Rattletrap with GHC 8.8.x, then you'll need to use a custom snapshot. Here's one that should work:

resolver: nightly-2020-02-13
extra-deps:
- git: https://github.com/tfausak/binary-bits
  commit: b7480fd7023d9d3adb1862309dd7bc9276e778ed

But also: You're saying the pre-built binaries available on the releases page don't work for you? That's surprising. The Linux one works for me on Ubuntu:

$ wget https://github.com/tfausak/rattletrap/releases/download/9.0.7/rattletrap-9.0.7-linux
$ chmod +x rattletrap-9.0.7-linux
$ ./rattletrap-9.0.7-linux --help
rattletrap-9.0.7-linux version 9.0.7
  -c           --compact         minify JSON output
  -f           --fast            only encode or decode the header
  -h           --help            show the help
  -i FILE|URL  --input=FILE|URL  input file or URL
  -m MODE      --mode=MODE       decode or encode
  -o FILE      --output=FILE     output file
  -v           --version         show the version

@CrypticSloth
Copy link
Author

Ah, just ran both the windows and linux pre-built binaries successfully. I was running the windows executable wrong. The stack command you listed also works. Thanks for your patience and your help!

@tfausak tfausak self-assigned this Feb 14, 2020
tfausak added a commit that referenced this issue Feb 14, 2020
@tfausak
Copy link
Owner

tfausak commented Feb 14, 2020

Cool, I'm glad they work. Also I updated the README to use a known good resolver instead of the constantly changing "nightly": 60ee694.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants