-
Notifications
You must be signed in to change notification settings - Fork 701
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
Regression in 3.12: package system-filepath (with custom Setup) cannot be installed with GHC 8.0 #10379
Comments
8.0.2 is still in the validate-old-ghcs job and seems to pass. (7.x is gone, mostly because we can't install it via ghcup; while it has 7.10.3, the installer segfaults on Ubuntu.) There should have been an entry in the changelog about ghcs outside the support window being dropped, per #9722. But it seems @mpickering broke the rules (this requires a changelog entry) and none of us caught it during review, sorry. |
But does this suite cover installing custom-setup packages with old versions of Cabal?
The lack of changelog suggests that this drop was maybe unintended. Maybe this table needs to be edited (or something in the proximity of it): cabal/cabal-install/src/Distribution/Client/ProjectPlanning.hs Lines 1390 to 1403 in 982fb82
Related is also: |
It's supposed to still be supported; this sounds like a case |
Here is another instance when trying to build
|
The error
suggests that the target syntax "lib:FOO" isn't understood by the generated setup.
So one hypothesis is that What the errors thrown by cabal master concerns,
I could not easily find out when these options were added. I think these failures deserve some investigation. Adding label "regression on master". |
I'm looking at our support window: Lines 223 to 224 in 4d298d3
and at the 8.0.2 release date of 11th January 2017, which is 7 years ago https://www.haskell.org/ghc/download_ghc_8_0_2.html and it seems this is way outside any of our windows (or CONTRIBUTING.md is incomplete). If that's true, that suggests we have a lot of flexibility tackling this issue. Retroactively editing We may also want to remove 8.0.2 from old-ghcs CI not to confuse the users that it's fully supported and mention this in the changelog prominently (maybe even edit the old changelog, too).
Isn't that too brutal? Doesn't it still work fine in many scenarios? |
If I read this text correctly, it only talks about buildability of
This should be tried, maybe it fixes the build, or at least it point to the reason why building is not possible (fingers crossed). |
See also #10012. |
Unfortunately, haskell/cabal#10379 prevents us from supporting GHC 8.0 using `cabal-install-3.12` or later. (On GHC 8.0, the build plan includes a version of `nonempty-vector` with a custom `Setup.hs` script, which triggers the issue.) Let's just drop support for GHC 8.0 to avoid this.
With cabal-install-3.12.1.0, I can trigger this bug
cabal install -w ghc-8.0.2 system-filepath-0.4.14
(latest version ofsystem-filepath
)system-filepath
and do acabal install --lib -w ghc-8.0.2
acid-state
(which depends onsystem-filepath
) and then do acabal build -w ghc-8.0.2
In the wild: https://github.com/acid-state/acid-state/actions/runs/10947885622/job/30397644524?pr=170#step:17:566
Error is:
With cabal master (3.15), I am getting different errors:
None of the mentioned errors occur with
-w ghc-8.2.2
(or any higher GHC major version).If I have to guess, then it is not really the GHC version that matters here but the version of the Cabal library that the
Setup.hs
is built with. (But I could be on the wrong track.)So, was support for
Cabal-1.24
(silently or by accident) dropped incabal-install-3.12
? (Couldn't find it in https://github.com/haskell/cabal/blob/982fb820991e0b29228243ad6dbee23c11adde1d/release-notes/cabal-install-3.12.1.0.md)A parallel to such unwanted compatibility drop is
Should cabal-install explicitly refuse to work with
Cabal < 2
?The text was updated successfully, but these errors were encountered: