-
Notifications
You must be signed in to change notification settings - Fork 31
Update ghcup-prereleases-0.0.7.yaml for Stack 2.11.0.1 #90
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
Conversation
We want to keep all prereleases, so this file is add only. |
I'm trying to build an M1 binary: But it fails: https://github.com/haskell/stack/actions/runs/4900632138/jobs/8751414664#step:5:10101 With no useful error:
Not sure why stack is swallowing the logs. |
@hasufell, taking the second issue first, I have access to a Mac Mini with Apple silicon. I'll investigate on that. On the first issue: understood. The |
It's optional: |
@hasufell, on the M1 issue, I tried (on Mac mini (M1, 2020)/macOS Ventura 13.3.1; in Stack's release candidate branch
However, when I immediately repeated the same Stack command, the bus error did not occur again, and I've not been able to generate another bus error (even after 'starting from scratch', with
|
@hasufell, on the maintaining of old prereleases, I think that has now been addressed. |
The error is consistent: https://github.com/haskell/stack/actions/runs/4900632138/jobs/8754279406#step:5:10033 |
I even have this error on Linux locally, when running |
Ah, I found it:
|
Here's the patch I applied to fix it: haskell/stack@49c8b7b#diff-9120a70fdfe8243e4ec0b59b1081f9a3e7784ca9e1e3fb298b682e70e9e720c4 I'm not sure how it ever worked without it. |
Still one error left: https://github.com/haskell/stack/actions/runs/4905906322/jobs/8759985868#step:5:6369 Seems to be a cabal bug:
It seems we need to bump the internal Cabal library? How does this work? |
Stack is built against the version of |
But it seems to use 3.2.1.0:
|
@hasufell, the (1) Stack's own dependency on (2) Stack's building of the small In the case of the Stack integration test # See https://github.com/haskell/cabal/issues/7763, which includes "Cabal is
# currently unable to build foreign libraries with GHC 9.0 or 9.2." 'Currently'
# refers to Cabal versions before 3.8. So, in summary, with this integration test, Stack is using GHC 8.10.7/Cabal-3.2.1.0 because it works on macOS (Intel), Linux and Windows; and you have discovered that using GHC 8.10.7/Cabal-3.2.1.0 fails on macOS (Apple silicon/M1). |
In the Stack repository, I am going to change the import Control.Monad ( unless )
import StackTest
main :: IO ()
-- See https://github.com/haskell/cabal/issues/7763. On macOS (Apple silicon),
-- fails with Cabal error:
-- "Cabal-simple_SvXsv1f__3.2.1.0_ghc-8.10.7: Cannot build some foreign libraries:
-- Building foreign libraries is currently only supported on OSX, Linux and
-- Windows"
main = unless (isAarch64 && isMacOSX) $ do
-- The '--install-ghc' flag is passed here, because etc/scripts/release.hs
-- passes `--no-install-ghc` when `--alpine` is passed to its 'check'
-- command.
stack ["--install-ghc", "setup"] -- See stack.yaml; using GHC 8.10.7
stack ["build"] and add the following exported function to -- | Is the architecture Aarch64?
isAarch64 :: Bool
isAarch64 = arch == "aarch64" |
Why exclude it? Why not bump the GHC/resolver? |
A bump fixes it as well: https://github.com/haskell/stack/actions/runs/4911967360/jobs/8770489917#step:5:5878 haskell/stack@fbbf96b#diff-35359b6d8e1cad86f40f70c35ff006867404a3df1012afedb111060d7c55a488 Maybe the windows exclusion can be removed too. |
@hasufell, bumping is the better way to fix it. I've put that through the Stack repository. |
Finally, binaries built: https://github.com/haskell/stack/actions/runs/4927781725 |
No description provided.