-
Notifications
You must be signed in to change notification settings - Fork 71
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
cabal install Euterpea fails with GHC 8.6.3 #26
Comments
I somehow ended up with a working install on Euterpea on Windows 10 now. Three observations:
|
I’m not sure, but I suspect that your main problem is ‘build-time: Custom’ in the cabal file. I played around with travis and got some good builds with the ‘cabal v2-*’ methods. https://travis-ci.org/tonyday567/Euterpea2/builds/469855286?utm_medium=notification&utm_source=email Let me know if you’d like a PR that adds a .travis.yml. I find travis-ci to be a good way to document build methods and avoid being surprised by changes. |
Another observation: when I was testing "cabal update" with 8.6.3 yesterday and some today, It would end very quickly without giving me a message like this (while v2-update was printing a thing like this every time): To revert to previous state run: That suggests to me it was simply crashing and not giving an error message. And now the fun part: after repeating my steps and doing another clean install...regular cabal update worked on one machine. This was right after a different clean install on the same machine observing that regular update failed while v2-update was fine. It is frustrating that this is apparently not a clean cut behavior and that sometimes it will work, sometimes not. When testing HSoM yesterday, it would also hang trying to install a GLUT-related library. Now it proceeds quickly with either method. I am starting to wonder if there was some sort of server-related issue adding phantom problems to the simple version bumps that were needed. Both Euterpea and HSoM will clearly build now on Mac and Windows (now that dependency version bumps are on both Hackage and GitHub). It will print warning messages about using out-dated installation methods, but it will work. Pending further investigation of the new-install stuff, which will eventually be a hard requirement with later cabal versions, I am going to updat the recommended installation to the following:
|
The cabal issue haskell/cabal#5278 mentions that a project with Why or under what exact circumstances this stops applying so you suddenly can |
I did some further testing with the current github version of Euterpea. It now reliably builds fine with the |
I encountered similar issues with cabal, I ended up trying Haskell Stack instead and have recorded my configuration over in a repository with the project files. (This was for HSoM, so some extra info for the GUI there too in the README.) Thought this would be useful to share since it's pins everything at versions that all seem to work in Windows 11 for me. (Mostly just have people who want to work through Haskell School of Music in mind.) |
The newly released Haskell Platform 8.6.3 includes a version of cabal that requires different syntax. Currently the installation instructions will only work with versions up to 8.4.3.
With 8.6.3, this command series will no longer work:
cabal update
cabal install Euterpea
You will see a complaint from cabal like this...
Warning: The install command is a part of the legacy v1 style of cabal usage.
Please switch to using either the new project style and the new-install
command or the legacy v1-install alias as new-style projects will become the
default in the next version of cabal-install. Please file a bug if you cannot
replicate a working v1- use case with the new-style commands.
...and then it will try to install Euterpea 1.x, which will fail because of problems with the Heap dependency. Attempting to specify the version as Euterpea-2.0.6 also fails, as does downloading Euterpea manually and doing a local cabal install or trying to use runhaskell.
If you try to use new-install, this happens:
_…
Euterpea:setup.Cabal-1.4.0.0, Euterpea:setup.Cabal-1.2.4.0,
Euterpea:setup.Cabal-1.2.3.0, Euterpea:setup.Cabal-1.2.2.0,
Euterpea:setup.Cabal-1.2.1, Euterpea:setup.Cabal-1.1.6,
Euterpea:setup.Cabal-1.24.1.0 (constraint from minimum version of Cabal used
by Setup.hs requires >=2.4)
[_1] fail (backjumping, conflict set: Euterpea, Euterpea:setup.Cabal)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: Euterpea:setup.Cabal, stm, Euterpea,
base
Frustratingly, many cabal-related pages are NOT UP TO DATE with this change in how cabal works even though it's not a hard requirement with the most recent Haskell Platform, so I am having difficulty sorting this out. I am also not quickly finding a guide that shows easily how to transition from the old style to the new style, which is what is needed here.
If anyone happens to be quite familiar with this new cabal version and knows how to do global library installations with it (it does claim v1-style usage should still work...), please describe it here so I can update the instructions and/or Euterpea if it's a library incompatibility and not just an installation syntax issue.
The text was updated successfully, but these errors were encountered: