haskell / ghcup-hs

https://www.haskell.org/ghcup/
GNU Lesser General Public License v3.0
282 stars 86 forks source link

Failure to install on JFS filesystem #766

Closed rubin55 closed 1 year ago

rubin55 commented 1 year ago

Installation seems to fail at the merging file tree stage, resulting in an error with code GHCup-00130. Full session log, Void Linux system, necessary packages installed:

[rubin@THINK ~]$  curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh 

Welcome to Haskell!

This script can download and install the following binaries:
  * ghcup - The Haskell toolchain installer
  * ghc   - The Glasgow Haskell Compiler
  * cabal - The Cabal build tool for managing Haskell software
  * stack - A cross-platform program for developing Haskell projects (similar to cabal)
  * hls   - (optional) A language server for developers to integrate with their editor/IDE

ghcup installs only into the following directory,
which can be removed anytime:
  /home/rubin/.ghcup

Press ENTER to proceed or ctrl-c to abort.
Note that this script can be re-run at any given time.

-------------------------------------------------------------------------------

Detected bash shell on your system...
Do you want ghcup to automatically add the required PATH variable to "/home/rubin/.bashrc"?

[P] Yes, prepend  [A] Yes, append  [N] No  [?] Help (default is "P").

n
-------------------------------------------------------------------------------
Do you want to install haskell-language-server (HLS)?
HLS is a language-server that provides IDE-like functionality
and can integrate with different editors, such as Vim, Emacs, VS Code, Atom, ...
Also see https://haskell-language-server.readthedocs.io/en/stable/

[Y] Yes  [N] No  [?] Help (default is "N").

y
-------------------------------------------------------------------------------
Do you want to enable better integration of stack with GHCup?
This means that stack won't install its own GHC versions, but uses GHCup's.
For more information see:
  https://docs.haskellstack.org/en/stable/yaml_configuration/#ghc-installation-customisation-experimental
If you want to keep stacks vanilla behavior, answer 'No'.

[Y] Yes  [N] No  [?] Help (default is "Y").

y
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.2M  100 15.2M    0     0  13.5M      0  0:00:01  0:00:01 --:--:-- 13.5M
[ Info  ] downloading: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-0.0.7.yaml as file /home/rubin/.ghcup/cache/ghcup-0.0.7.yaml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  208k  100  208k    0     0  1074k      0 --:--:-- --:--:-- --:--:-- 1076k
[ Info  ] Upgrading GHCup...
[ Warn  ] No GHCup update available

System requirements 
  Note: You need the following packages: curl g++ gcc gmp make ncurses realpath xz-utils. Consult your distro documentation on the exact names of those packages.
Press ENTER to proceed or ctrl-c to abort.
Installation may take a while.

[ Info  ] downloading: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-fedora27-linux.tar.xz as file /home/rubin/.ghcup/cache/ghc-9.2.5-x86_64-fedora27-linux.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  235M  100  235M    0     0  21.6M      0  0:00:10  0:00:10 --:--:-- 25.8M
[ Info  ] verifying digest of: ghc-9.2.5-x86_64-fedora27-linux.tar.xz
[ Info  ] Unpacking: ghc-9.2.5-x86_64-fedora27-linux.tar.xz to /home/rubin/.ghcup/tmp/ghcup-cdab6b1059772f2b
[ Info  ] Installing GHC (this may take a while)
[ Info  ] Merging file tree from "/home/rubin/.ghcup/tmp/ghcup-ccbad1a8d4d6e0e6/home/rubin/.ghcup/ghc/9.2.5" to "/home/rubin/.ghcup/ghc/9.2.5"
[ Error ] [GHCup-00130] The version 9.2.5 of the tool ghc is not installed.
[ Error ] Also check the logs in /home/rubin/.ghcup/logs
"ghcup --metadata-fetching-mode=Strict --cache install ghc recommended" failed!

Logs:

hasufell commented 1 year ago

I can't reproduce:

$ docker run -ti --rm voidlinux/voidlinux sh                                                                                     2586ms  Fri 04:20
# xbps-install -S bash curl
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
x86_64-repodata: 1812KB [avg rate: 1179KB/s]
The 'xbps' package must be updated, please run `xbps-install -u xbps`
# xbps-install -u xbps

Name    Action    Version           New version            Download size
glibc   update    2.32_2            2.36_1                 8684KB
libxbps update    0.59.1_5          0.59.1_8               137KB
xbps    update    0.59.1_5          0.59.1_8               109KB

Size to download:             8931KB
Size required on disk:          35MB
Space available on disk:        75GB

Do you want to continue? [Y/n]

[*] Downloading packages
glibc-2.36_1.x86_64.xbps.sig: 512B [avg rate: 8772KB/s]
glibc-2.36_1.x86_64.xbps: 8684KB [avg rate: 4841KB/s]
glibc-2.36_1: verifying RSA signature...
libxbps-0.59.1_8.x86_64.xbps.sig: 512B [avg rate: 38MB/s]
libxbps-0.59.1_8.x86_64.xbps: 137KB [avg rate: 1650MB/s]
libxbps-0.59.1_8: verifying RSA signature...
xbps-0.59.1_8.x86_64.xbps.sig: 512B [avg rate: 24MB/s]
xbps-0.59.1_8.x86_64.xbps: 109KB [avg rate: -- stalled --]
xbps-0.59.1_8: verifying RSA signature...

[*] Collecting package files
glibc-2.36_1: collecting files...
glibc-2.32_2: collecting files...
libxbps-0.59.1_8: collecting files...
libxbps-0.59.1_5: collecting files...
xbps-0.59.1_8: collecting files...
xbps-0.59.1_5: collecting files...

[*] Unpacking packages
glibc-2.32_2: updating to 2.36_1 ...
glibc-2.36_1: unpacking ...
libxbps-0.59.1_5: updating to 0.59.1_8 ...
libxbps-0.59.1_8: unpacking ...
xbps-0.59.1_5: updating to 0.59.1_8 ...
xbps-0.59.1_8: unpacking ...

[*] Configuring unpacked packages
glibc-2.36_1: configuring ...
glibc-2.36_1: updated successfully.
libxbps-0.59.1_8: configuring ...
libxbps-0.59.1_8: updated successfully.
xbps-0.59.1_8: configuring ...
xbps-0.59.1_8: updated successfully.

3 downloaded, 0 installed, 3 updated, 3 configured, 0 removed.
# xbps-install -S bash
[*] Updating repository `https://repo-default.voidlinux.org/current/x86_64-repodata' ...
x86_64-repodata: 1812KB [avg rate: 1520KB/s]

Name Action    Version           New version            Download size
bash install   -                 5.1.016_2              1547KB

Size to download:             1548KB
Size required on disk:        6837KB
Space available on disk:        75GB

Do you want to continue? [Y/n]

[*] Downloading packages
bash-5.1.016_2.x86_64.xbps.sig: 512B [avg rate: 33MB/s]
bash-5.1.016_2.x86_64.xbps: 1547KB [avg rate: 3884KB/s]
bash-5.1.016_2: verifying RSA signature...

[*] Collecting package files
bash-5.1.016_2: collecting files...

[*] Unpacking packages
bash-5.1.016_2: unpacking ...
bash-5.1.016_2: registered 'sh' alternatives group

[*] Configuring unpacked packages
bash-5.1.016_2: configuring ...
Registered /usr/bin/bash into /etc/shells.
Registered /bin/bash into /etc/shells.
bash-5.1.016_2: installed successfully.

1 downloaded, 1 installed, 0 updated, 1 configured, 0 removed.
# bash
bash-5.1# cd
bash-5.1# xbps-install gcc gmp curl coreutils xz ncurses make ncurses-libtinfo-libs perl tar
Package `gmp' already installed.
Package `coreutils' already installed.
Package `tar' already installed.

Name                  Action    Version           New version            Download size
binutils-doc          install   -                 2.39_1                 698KB
libssh2               install   -                 1.10.0_1               111KB
c-ares                install   -                 1.18.1_1               46KB
jansson               install   -                 2.14_1                 29KB
libev                 install   -                 4.33_1                 31KB
libgcc                install   -                 12.2.0_1               60KB
libstdc++             install   -                 12.2.0_1               783KB
nghttp2               install   -                 1.51.0_1               707KB
libcurl               install   -                 7.87.0_2               296KB
libdebuginfod         install   -                 0.187_1                13KB
binutils              install   -                 2.39_1                 4378KB
kernel-libc-headers   install   -                 5.10.4_1               1201KB
glibc-devel           install   -                 2.36_1                 3221KB
libgcc-devel          install   -                 12.2.0_1               1379KB
libssp                install   -                 12.2.0_1               7031B
libssp-devel          install   -                 12.2.0_1               7914B
libstdc++-devel       install   -                 12.2.0_1               2621KB
gcc                   install   -                 12.2.0_1               68MB
curl                  install   -                 7.87.0_2               205KB
liblzma               update    5.2.5_1           5.4.1_1                99KB
xz                    install   -                 5.4.1_1                303KB
ncurses-base          install   -                 6.3_3                  29KB
ncurses-libs          update    6.2_4             6.3_3                  320KB
ncurses               install   -                 6.3_3                  156KB
make                  install   -                 4.3_3                  489KB
ncurses-libtinfo-libs install   -                 6.3_3                  722B
gdbm                  install   -                 1.23_1                 167KB
libpcre2              install   -                 10.39_2                481KB
less                  install   -                 608_1                  128KB
perl                  install   -                 5.36.0_1               14MB

Size to download:              100MB
Size required on disk:         348MB
Space available on disk:        75GB

Do you want to continue? [Y/n]
Aborting!
bash-5.1# xbps-install gcc gmp curl coreutils xz ncurses make ncurses-libtinfo-libs perl tar
Package `gmp' already installed.
Package `coreutils' already installed.
Package `tar' already installed.

Name                  Action    Version           New version            Download size
binutils-doc          install   -                 2.39_1                 698KB
libssh2               install   -                 1.10.0_1               111KB
c-ares                install   -                 1.18.1_1               46KB
jansson               install   -                 2.14_1                 29KB
libev                 install   -                 4.33_1                 31KB
libgcc                install   -                 12.2.0_1               60KB
libstdc++             install   -                 12.2.0_1               783KB
nghttp2               install   -                 1.51.0_1               707KB
libcurl               install   -                 7.87.0_2               296KB
libdebuginfod         install   -                 0.187_1                13KB
binutils              install   -                 2.39_1                 4378KB
kernel-libc-headers   install   -                 5.10.4_1               1201KB
glibc-devel           install   -                 2.36_1                 3221KB
libgcc-devel          install   -                 12.2.0_1               1379KB
libssp                install   -                 12.2.0_1               7031B
libssp-devel          install   -                 12.2.0_1               7914B
libstdc++-devel       install   -                 12.2.0_1               2621KB
gcc                   install   -                 12.2.0_1               68MB
curl                  install   -                 7.87.0_2               205KB
liblzma               update    5.2.5_1           5.4.1_1                99KB
xz                    install   -                 5.4.1_1                303KB
ncurses-base          install   -                 6.3_3                  29KB
ncurses-libs          update    6.2_4             6.3_3                  320KB
ncurses               install   -                 6.3_3                  156KB
make                  install   -                 4.3_3                  489KB
ncurses-libtinfo-libs install   -                 6.3_3                  722B
gdbm                  install   -                 1.23_1                 167KB
libpcre2              install   -                 10.39_2                481KB
less                  install   -                 608_1                  128KB
perl                  install   -                 5.36.0_1               14MB

Size to download:              100MB
Size required on disk:         348MB
Space available on disk:        75GB

Do you want to continue? [Y/n] y

[*] Downloading packages
binutils-doc-2.39_1.x86_64.xbps.sig: 512B [avg rate: 16MB/s]
binutils-doc-2.39_1.x86_64.xbps: 698KB [avg rate: 1365KB/s]
binutils-doc-2.39_1: verifying RSA signature...
libssh2-1.10.0_1.x86_64.xbps.sig: 512B [avg rate: 29MB/s]
libssh2-1.10.0_1.x86_64.xbps: 111KB [avg rate: 3009MB/s]
libssh2-1.10.0_1: verifying RSA signature...
c-ares-1.18.1_1.x86_64.xbps.sig: 512B [avg rate: 26MB/s]
c-ares-1.18.1_1.x86_64.xbps: 46KB [avg rate: 1486MB/s]
c-ares-1.18.1_1: verifying RSA signature...
jansson-2.14_1.x86_64.xbps.sig: 512B [avg rate: 38MB/s]
jansson-2.14_1.x86_64.xbps: 29KB [avg rate: 528MB/s]
jansson-2.14_1: verifying RSA signature...
libev-4.33_1.x86_64.xbps.sig: 512B [avg rate: 29MB/s]
libev-4.33_1.x86_64.xbps: 31KB [avg rate: 766MB/s]
libev-4.33_1: verifying RSA signature...
libgcc-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 31MB/s]
libgcc-12.2.0_1.x86_64.xbps: 60KB [avg rate: 1967MB/s]
libgcc-12.2.0_1: verifying RSA signature...
libstdc++-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 31MB/s]
libstdc++-12.2.0_1.x86_64.xbps: 783KB [avg rate: 26GB/s]
libstdc++-12.2.0_1: verifying RSA signature...
nghttp2-1.51.0_1.x86_64.xbps.sig: 512B [avg rate: 10MB/s]
nghttp2-1.51.0_1.x86_64.xbps: 707KB [avg rate: 17GB/s]
nghttp2-1.51.0_1: verifying RSA signature...
libcurl-7.87.0_2.x86_64.xbps.sig: 512B [avg rate: 35MB/s]
libcurl-7.87.0_2.x86_64.xbps: 296KB [avg rate: 10GB/s]
libcurl-7.87.0_2: verifying RSA signature...
libdebuginfod-0.187_1.x86_64.xbps.sig: 512B [avg rate: 26MB/s]
libdebuginfod-0.187_1.x86_64.xbps: 13KB [avg rate: 464MB/s]
libdebuginfod-0.187_1: verifying RSA signature...
binutils-2.39_1.x86_64.xbps.sig: 512B [avg rate: 33MB/s]
binutils-2.39_1.x86_64.xbps: 4378KB [avg rate: 99GB/s]
binutils-2.39_1: verifying RSA signature...
kernel-libc-headers-5.10.4_1.x86_64.xbps.sig: 512B [avg rate: 33MB/s]
kernel-libc-headers-5.10.4_1.x86_64.xbps: 1201KB [avg rate: 31GB/s]
kernel-libc-headers-5.10.4_1: verifying RSA signature...
glibc-devel-2.36_1.x86_64.xbps.sig: 512B [avg rate: 29MB/s]
glibc-devel-2.36_1.x86_64.xbps: 3221KB [avg rate: 16MB/s]
glibc-devel-2.36_1: verifying RSA signature...
libgcc-devel-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 22MB/s]
libgcc-devel-12.2.0_1.x86_64.xbps: 1379KB [avg rate: 17GB/s]
libgcc-devel-12.2.0_1: verifying RSA signature...
libssp-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 19MB/s]
libssp-12.2.0_1.x86_64.xbps: 7031B [avg rate: 149MB/s]
libssp-12.2.0_1: verifying RSA signature...
libssp-devel-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 27MB/s]
libssp-devel-12.2.0_1.x86_64.xbps: 7914B [avg rate: 216MB/s]
libssp-devel-12.2.0_1: verifying RSA signature...
libstdc++-devel-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 11MB/s]
libstdc++-devel-12.2.0_1.x86_64.xbps: 2621KB [avg rate: 60GB/s]
libstdc++-devel-12.2.0_1: verifying RSA signature...
gcc-12.2.0_1.x86_64.xbps.sig: 512B [avg rate: 6849KB/s]
gcc-12.2.0_1.x86_64.xbps: 68MB [avg rate: 5748KB/s]
gcc-12.2.0_1: verifying RSA signature...
curl-7.87.0_2.x86_64.xbps.sig: 512B [avg rate: 31MB/s]
curl-7.87.0_2.x86_64.xbps: 205KB [avg rate: 5880MB/s]
curl-7.87.0_2: verifying RSA signature...
liblzma-5.4.1_1.x86_64.xbps.sig: 512B [avg rate: 29MB/s]
liblzma-5.4.1_1.x86_64.xbps: 99KB [avg rate: 3109MB/s]
liblzma-5.4.1_1: verifying RSA signature...
xz-5.4.1_1.x86_64.xbps.sig: 512B [avg rate: 17MB/s]
xz-5.4.1_1.x86_64.xbps: 303KB [avg rate: 6295MB/s]
xz-5.4.1_1: verifying RSA signature...
ncurses-base-6.3_3.x86_64.xbps.sig: 512B [avg rate: 19MB/s]
ncurses-base-6.3_3.x86_64.xbps: 29KB [avg rate: 586MB/s]
ncurses-base-6.3_3: verifying RSA signature...
ncurses-libs-6.3_3.x86_64.xbps.sig: 512B [avg rate: 18MB/s]
ncurses-libs-6.3_3.x86_64.xbps: 320KB [avg rate: 9769MB/s]
ncurses-libs-6.3_3: verifying RSA signature...
ncurses-6.3_3.x86_64.xbps.sig: 512B [avg rate: 24MB/s]
ncurses-6.3_3.x86_64.xbps: 156KB [avg rate: 4746MB/s]
ncurses-6.3_3: verifying RSA signature...
make-4.3_3.x86_64.xbps.sig: 512B [avg rate: 26MB/s]
make-4.3_3.x86_64.xbps: 489KB [avg rate: 12GB/s]
make-4.3_3: verifying RSA signature...
ncurses-libtinfo-libs-6.3_3.x86_64.xbps.sig: 512B [avg rate: 20MB/s]
ncurses-libtinfo-libs-6.3_3.x86_64.xbps: 722B [avg rate: 34MB/s]
ncurses-libtinfo-libs-6.3_3: verifying RSA signature...
gdbm-1.23_1.x86_64.xbps.sig: 512B [avg rate: 10MB/s]
gdbm-1.23_1.x86_64.xbps: 167KB [avg rate: 4539MB/s]
gdbm-1.23_1: verifying RSA signature...
libpcre2-10.39_2.x86_64.xbps.sig: 512B [avg rate: 8197KB/s]
libpcre2-10.39_2.x86_64.xbps: 481KB [avg rate: 15GB/s]
libpcre2-10.39_2: verifying RSA signature...
less-608_1.x86_64.xbps.sig: 512B [avg rate: 23MB/s]
less-608_1.x86_64.xbps: 128KB [avg rate: 2446MB/s]
less-608_1: verifying RSA signature...
perl-5.36.0_1.x86_64.xbps.sig: 512B [avg rate: 23MB/s]
perl-5.36.0_1.x86_64.xbps: 14MB [avg rate: 14MB/s]
perl-5.36.0_1: verifying RSA signature...

[*] Collecting package files
binutils-doc-2.39_1: collecting files...
libssh2-1.10.0_1: collecting files...
c-ares-1.18.1_1: collecting files...
jansson-2.14_1: collecting files...
libev-4.33_1: collecting files...
libgcc-12.2.0_1: collecting files...
libstdc++-12.2.0_1: collecting files...
nghttp2-1.51.0_1: collecting files...
libcurl-7.87.0_2: collecting files...
libdebuginfod-0.187_1: collecting files...
binutils-2.39_1: collecting files...
kernel-libc-headers-5.10.4_1: collecting files...
glibc-devel-2.36_1: collecting files...
libgcc-devel-12.2.0_1: collecting files...
libssp-12.2.0_1: collecting files...
libssp-devel-12.2.0_1: collecting files...
libstdc++-devel-12.2.0_1: collecting files...
gcc-12.2.0_1: collecting files...
curl-7.87.0_2: collecting files...
liblzma-5.4.1_1: collecting files...
liblzma-5.2.5_1: collecting files...
xz-5.4.1_1: collecting files...
ncurses-base-6.3_3: collecting files...
ncurses-libs-6.3_3: collecting files...
ncurses-libs-6.2_4: collecting files...
ncurses-6.3_3: collecting files...
make-4.3_3: collecting files...
ncurses-libtinfo-libs-6.3_3: collecting files...
gdbm-1.23_1: collecting files...
libpcre2-10.39_2: collecting files...
less-608_1: collecting files...
perl-5.36.0_1: collecting files...

[*] Unpacking packages
binutils-doc-2.39_1: unpacking ...
libssh2-1.10.0_1: unpacking ...
c-ares-1.18.1_1: unpacking ...
jansson-2.14_1: unpacking ...
libev-4.33_1: unpacking ...
libgcc-12.2.0_1: unpacking ...
libstdc++-12.2.0_1: unpacking ...
nghttp2-1.51.0_1: unpacking ...
libcurl-7.87.0_2: unpacking ...
libdebuginfod-0.187_1: unpacking ...
binutils-2.39_1: unpacking ...
kernel-libc-headers-5.10.4_1: unpacking ...
glibc-devel-2.36_1: unpacking ...
libgcc-devel-12.2.0_1: unpacking ...
libssp-12.2.0_1: unpacking ...
libssp-devel-12.2.0_1: unpacking ...
libstdc++-devel-12.2.0_1: unpacking ...
gcc-12.2.0_1: unpacking ...
curl-7.87.0_2: unpacking ...
liblzma-5.2.5_1: updating to 5.4.1_1 ...
liblzma-5.4.1_1: unpacking ...
xz-5.4.1_1: unpacking ...
ncurses-base-6.3_3: unpacking ...
ncurses-libs-6.2_4: updating to 6.3_3 ...
ncurses-libs-6.3_3: unpacking ...
ncurses-6.3_3: unpacking ...
make-4.3_3: unpacking ...
ncurses-libtinfo-libs-6.3_3: unpacking ...
gdbm-1.23_1: unpacking ...
libpcre2-10.39_2: unpacking ...
less-608_1: unpacking ...
perl-5.36.0_1: unpacking ...

[*] Configuring unpacked packages
binutils-doc-2.39_1: configuring ...
binutils-doc-2.39_1: installed successfully.
libssh2-1.10.0_1: configuring ...
libssh2-1.10.0_1: installed successfully.
c-ares-1.18.1_1: configuring ...
c-ares-1.18.1_1: installed successfully.
jansson-2.14_1: configuring ...
jansson-2.14_1: installed successfully.
libev-4.33_1: configuring ...
libev-4.33_1: installed successfully.
libgcc-12.2.0_1: configuring ...
libgcc-12.2.0_1: installed successfully.
libstdc++-12.2.0_1: configuring ...
libstdc++-12.2.0_1: installed successfully.
nghttp2-1.51.0_1: configuring ...
nghttp2-1.51.0_1: installed successfully.
libcurl-7.87.0_2: configuring ...
libcurl-7.87.0_2: installed successfully.
libdebuginfod-0.187_1: configuring ...
libdebuginfod-0.187_1: installed successfully.
binutils-2.39_1: configuring ...
binutils-2.39_1: installed successfully.
kernel-libc-headers-5.10.4_1: configuring ...
kernel-libc-headers-5.10.4_1: installed successfully.
glibc-devel-2.36_1: configuring ...
glibc-devel-2.36_1: installed successfully.
libgcc-devel-12.2.0_1: configuring ...
libgcc-devel-12.2.0_1: installed successfully.
libssp-12.2.0_1: configuring ...
libssp-12.2.0_1: installed successfully.
libssp-devel-12.2.0_1: configuring ...
libssp-devel-12.2.0_1: installed successfully.
libstdc++-devel-12.2.0_1: configuring ...
libstdc++-devel-12.2.0_1: installed successfully.
gcc-12.2.0_1: configuring ...
gcc-12.2.0_1: installed successfully.
curl-7.87.0_2: configuring ...
curl-7.87.0_2: installed successfully.
liblzma-5.4.1_1: configuring ...
liblzma-5.4.1_1: updated successfully.
xz-5.4.1_1: configuring ...
xz-5.4.1_1: installed successfully.
ncurses-base-6.3_3: configuring ...
ncurses-base-6.3_3: installed successfully.
ncurses-libs-6.3_3: configuring ...
ncurses-libs-6.3_3: updated successfully.
ncurses-6.3_3: configuring ...
ncurses-6.3_3: installed successfully.
make-4.3_3: configuring ...
make-4.3_3: installed successfully.
ncurses-libtinfo-libs-6.3_3: configuring ...
ncurses-libtinfo-libs-6.3_3: installed successfully.
gdbm-1.23_1: configuring ...
gdbm-1.23_1: installed successfully.
libpcre2-10.39_2: configuring ...
libpcre2-10.39_2: installed successfully.
less-608_1: configuring ...
less-608_1: installed successfully.
perl-5.36.0_1: configuring ...
perl-5.36.0_1: installed successfully.

30 downloaded, 28 installed, 2 updated, 30 configured, 0 removed.
bash-5.1# curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

Welcome to Haskell!

This script can download and install the following binaries:
  * ghcup - The Haskell toolchain installer
  * ghc   - The Glasgow Haskell Compiler
  * cabal - The Cabal build tool for managing Haskell software
  * stack - A cross-platform program for developing Haskell projects (similar to cabal)
  * hls   - (optional) A language server for developers to integrate with their editor/IDE

ghcup installs only into the following directory,
which can be removed anytime:
  /root/.ghcup

Press ENTER to proceed or ctrl-c to abort.
Note that this script can be re-run at any given time.
-------------------------------------------------------------------------------
Do you want to install haskell-language-server (HLS)?
HLS is a language-server that provides IDE-like functionality
and can integrate with different editors, such as Vim, Emacs, VS Code, Atom, ...
Also see https://haskell-language-server.readthedocs.io/en/stable/

[Y] Yes  [N] No  [?] Help (default is "N").

-------------------------------------------------------------------------------
Do you want to enable better integration of stack with GHCup?
This means that stack won't install its own GHC versions, but uses GHCup's.
For more information see:
  https://docs.haskellstack.org/en/stable/yaml_configuration/#ghc-installation-customisation-experimental
If you want to keep stacks vanilla behavior, answer 'No'.

[Y] Yes  [N] No  [?] Help (default is "Y").

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 15.2M  100 15.2M    0     0  38.7M      0 --:--:-- --:--:-- --:--:-- 38.8M
[ Info  ] downloading: https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-0.0.7.yaml as file /root/.ghcup/cache/ghcup-0.0.7.yaml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  208k  100  208k    0     0  5158k      0 --:--:-- --:--:-- --:--:-- 5218k
[ Info  ] Upgrading GHCup...
[ Warn  ] No GHCup update available

System requirements
  Note: You need the following packages: curl g++ gcc gmp make ncurses realpath xz-utils. Consult your distro documentation on the exact names of those packages.
Press ENTER to proceed or ctrl-c to abort.
Installation may take a while.

[ Info  ] downloading: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-fedora27-linux.tar.xz as file /root/.ghcup/cache/ghc-9.2.5-x86_64-fedora27-linux.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  235M  100  235M    0     0  47.8M      0  0:00:04  0:00:04 --:--:-- 50.1M
[ Info  ] verifying digest of: ghc-9.2.5-x86_64-fedora27-linux.tar.xz
[ Info  ] Unpacking: ghc-9.2.5-x86_64-fedora27-linux.tar.xz to /root/.ghcup/tmp/ghcup-7b0b5f44c20acd8f
[ Info  ] Installing GHC (this may take a while)
[ Info  ] Merging file tree from "/root/.ghcup/tmp/ghcup-0cd6a485db0123e9/root/.ghcup/ghc/9.2.5" to "/root/.ghcup/ghc/9.2.5"
[ Info  ] GHC installation successful
[ Info  ] GHC 9.2.5 successfully set as default version
[ Info  ] downloading: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.2.0/cabal-install-3.6.2.0-x86_64-linux-alpine-static.tar.xz as file /root/.ghcup/cache/cabal-install-3.6.2.0-x86_64-linux-alpine-static.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4523k  100 4523k    0     0  22.0M      0 --:--:-- --:--:-- --:--:-- 22.0M
[ Info  ] verifying digest of: cabal-install-3.6.2.0-x86_64-linux-alpine-static.tar.xz
[ Info  ] Unpacking: cabal-install-3.6.2.0-x86_64-linux-alpine-static.tar.xz to /root/.ghcup/tmp/ghcup-99e1fc710b55fd1c
[ Info  ] Installing cabal
[ Info  ] Cabal installation successful
Config file path source is default config file.
Config file /root/.cabal/config not found.
Writing default configuration to /root/.cabal/config
Downloading the latest package list from hackage.haskell.org
Updated package list of hackage.haskell.org to the index-state 2023-02-02T22:09:10Z
[ Info  ] downloading: https://github.com/commercialhaskell/stack/releases/download/v2.9.1/stack-2.9.1-linux-x86_64-static.tar.gz as file /root/.ghcup/cache/stack-2.9.1-linux-x86_64-static.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13.4M  100 13.4M    0     0  2356k      0  0:00:05  0:00:05 --:--:-- 3218k
[ Info  ] verifying digest of: stack-2.9.1-linux-x86_64-static.tar.gz
[ Info  ] Unpacking: stack-2.9.1-linux-x86_64-static.tar.gz to /root/.ghcup/tmp/ghcup-98add9eab6f9ffac
[ Info  ] Installing stack
[ Info  ] Stack installation successful
[ Info  ] Stack manages GHC versions internally by default. To improve integration, please visit:
[ ...   ]   https://www.haskell.org/ghcup/guide/#stack-integration
[ ...   ]
[ ...   ] Also check out:
[ ...   ]   https://docs.haskellstack.org/en/stable/yaml_configuration
[ ...   ]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0    744      0 --:--:-- --:--:-- --:--:--   744

===============================================================================

In order to run ghc and cabal, you need to adjust your PATH variable.
To do so, you may want to run 'source /root/.ghcup/env' in your current terminal
session as well as your shell configuration (e.g. ~/.bashrc).

===============================================================================

All done!

To start a simple repl, run:
  ghci

To start a new haskell project in the current directory, run:
  cabal init --interactive

To install other GHC versions and tools, run:
  ghcup tui

If you are new to Haskell, check out https://www.haskell.org/ghcup/steps/
hasufell commented 1 year ago

It must be failing here:

https://github.com/haskell/ghcup-hs/blob/048932bf5040db313f645d906b0fe4d171410c0b/lib/GHCup/GHC.hs#L1303-L1304

And then

https://github.com/haskell/ghcup-hs/blob/048932bf5040db313f645d906b0fe4d171410c0b/lib/GHCup/GHC.hs#L557

What are the contents of ~/.ghcup/ghc after you run the installation?

hasufell commented 1 year ago

Is your voidlinux configured to use musl?

rubin55 commented 1 year ago

@hasufell no, it's regular glibc. I will try to see if filesystem type might be involved (I use JFS, might play an unexpected part). Furthermore, I will check which environment variables my environment has and if there might be any that plays a part, so:

  1. Make "clean" user, become that user and repeat standard steps, observe if error still occurs
  2. Mount another filesystem to see if JFS plays a part
  3. Check if any environment variable plays a part
rubin55 commented 1 year ago

@hasufell I checked the .ghcup/ghc directory - it's empty after this error.

rubin55 commented 1 year ago

I just performed the install with a clean user with a minimal environment, same error. I'm now going to test with different filesystem.

rubin55 commented 1 year ago

@hasufell It's the JFS filesystem mounted on /home. It has the case-insensitive option enabled (-O), but I tested with both: the case-insensitive option does not matter; I just formatted a 10GiB JFS filesystem without the -O option, the failure occurs identically.

hasufell commented 1 year ago

That's exciting. I'll investigate over the weekend.

hasufell commented 1 year ago

It appears the answer is this:

  test/GHCup/Prelude/File/Posix/TraversalsSpec.hs:35:10:
  1) GHCup.Prelude.File.Posix.Traversals.GHCup.Prelude.File.Posix.Traversals readDirEnt
       expected: [(DirType 4, "."), (DirType 4, ".."), (DirType 4, "dir"), (DirType 8, "file")]
        but got: [(DirType 4, "."), (DirType 4, ".."), (DirType 0, "dir"), (DirType 0, "file")]

https://stackoverflow.com/a/29628894

hasufell commented 1 year ago

We'll have to do a point release for this.

hasufell commented 1 year ago

https://github.com/haskell/ghcup-hs/pull/767

I'm not too sure how portable that implementation is. It works on JFS, but maybe have to investigate more filesystems.

rubin55 commented 1 year ago

@hasufell let me know when a release is available so I can test!

hasufell commented 1 year ago

You can download master artifacts and try: https://github.com/haskell/ghcup-hs/suites/10766709038/artifacts/540774112

rubin55 commented 1 year ago

@hasufell can confirm that ghcup now works, I tested installing and updating through the tui. Thanks a lot!

hasufell commented 1 year ago

This is released now in https://github.com/haskell/ghcup-hs/releases/tag/v0.1.19.1