Skip to content
This repository has been archived by the owner on Jan 5, 2024. It is now read-only.

Unable to install GHC head version #93

Closed
harendra-kumar opened this issue Feb 1, 2022 · 5 comments · Fixed by #279
Closed

Unable to install GHC head version #93

harendra-kumar opened this issue Feb 1, 2022 · 5 comments · Fixed by #279
Labels
re: ghc head Concerning installation of GHC head

Comments

@harendra-kumar
Copy link

The following error occurs (https://github.com/composewell/streamly/runs/5014667413?check_suite_focus=true):

  [ Error ] Download failed: Process "curl" with arguments ["-fL", "-o",
  [ ...   ]                                                 "/tmp/ghcup-5518e54f8c013197/ghc-x86_64-deb9-linux-integer-simple.tar.xz.tmp",
  [ ...   ]                                                 "https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb9-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb9-integer-simple"] failed with exit code 22.
  [ Error ] Also check the logs in /home/runner/.ghcup/logs
Error: All install methods for ghc head failed

The deb9 install link that it is using does not work manually as well. However, the following deb10 link works:

$ ghcup install ghc -u https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb10-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb10-integer-simple head

Not sure why it is using deb9, gitlab runners do not even have any deb9 based ubuntu I guess.

@hazelweakly
Copy link
Collaborator

It's using deb9 because that's what was used at the time and iirc was closest to the ubuntu 18.04 that was the default? It's a bit of a hacky hardcoded url and it'd be nice if it was supported "natively" with ghcup rather than taking advantage of knowing the right magic gitlab url to grab a CI job, but that's fine. I'll update the url soon (or a PR would be equally welcome)

Rufflewind added a commit to Rufflewind/directory that referenced this issue Feb 21, 2022
  - Looks like automake is no longer bundled with the Windows
    environment, so that has to be installed explicitly.

  - The meaning of "ghc head" appears to have changed and no longer
    pulls from ppa:hvr/ghc. Given that there is a bug with this new
    feature ( haskell/actions#93 ), we may as
    well just switch everything to latest, which is a little more stale
    but probably better supported.
Rufflewind added a commit to Rufflewind/directory that referenced this issue Feb 21, 2022
  - Looks like autoconf and automake are no longer bundled with the
    Windows environment, so they need to be installed explicitly. In
    particular, autoconf is NOT a run-time dependency of automake in
    MSYS2, so both need to be specified.

    BTW, the pacman command needs to be in a new GitHub Action step
    because the addition of MSYS2 to GITHUB_PATH needs to take effect.

  - The meaning of "ghc head" appears to have changed and no longer
    pulls from ppa:hvr/ghc. Given that there is a bug with this new
    feature ( haskell/actions#93 ), we may as
    well just switch everything to latest, which is a little more stale
    but probably better supported.

  - Looks like cabal v1-update no longer exists. This command doesn't
    seem to differ too much between v1 and v2, so I think it's OK to
    just drop the version prefix.
robx added a commit to robx/actions that referenced this issue Jun 21, 2022
@robx
Copy link

robx commented Jun 24, 2022

A potential future solution for this might be via ghcup release channels, as suggested in #108 (but that would require GHC CI to generate a ghcup metadata file at a well-known URL).

As an alternative, how about leaving the weird hard-coded URL decision to the user, by making the GHC download URL an input (and even dropping explicit HEAD support?). I.e., leave it to the user to set

    ghc-version: head
    ghc-download-url: https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb10-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb10-integer-simple

which would translate into a call of ghcup install ghc -u ${ghc-download-url} ${ghc-version}.

@hazelweakly
Copy link
Collaborator

I like that. The behavior could depend entirely on if ghc-download-url is set at all (rather than defaulting to gitlab). For backwards compatibility, head could default to the deb11 URL unless ghc-download-url is set.

If we're going to do that, it might be nice to potentially support ghc-download-url as either a string or an object so that windows/linux/macos URLs can be specified. But that might be better done indirectly by supporting ghcup release channels?

@andreasabel
Copy link
Member

@robx wrote:

https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb10-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb10-integer-simple

This URL is broken as of today (2022-12-22):

$ wget https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb10-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb10-integer-simple
--2022-12-22 12:16:10--  https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-deb10-linux-integer-simple.tar.xz?job=validate-x86_64-linux-deb10-integer-simple
Resolving gitlab.haskell.org (gitlab.haskell.org)... 145.40.64.137
Connecting to gitlab.haskell.org (gitlab.haskell.org)|145.40.64.137|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2022-12-22 12:16:12 ERROR 404: Not Found.

(Same for deb11 variant.)

This issue has a new reincarnation here:

Please continue discussion there.

@andreasabel andreasabel added the re: ghc head Concerning installation of GHC head label Dec 22, 2022
@andreasabel
Copy link
Member

Solved by #279.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
re: ghc head Concerning installation of GHC head
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants