GHC 9.6 bindists for Aarch64 linux have a broken install of directory package
Summary
Installing GHC 9.6.1 and 9.6.2 on Aarch64 ubuntu using GHCup leads to a broken installation of the directory package.
Steps to reproduce
- Install ghcup
-
ghcup install ghc 9.6.2
(or 9.6.1) ghcup set ghc 9.6.2
ghc-pkg check --verbose
> ghc-pkg check --verbose
GHC package manager version 9.6.2
Timestamp 2023-07-02 11:06:19.951587334 UTC for /data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/package.conf.d/package.cache
using cache: /data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/package.conf.d/package.cache
db stack: ["/data/home/ubuntu/.ghc/aarch64-linux-9.6.2/package.conf.d","/data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/package.conf.d"]
flag db stack: ["/data/home/ubuntu/.ghc/aarch64-linux-9.6.2/package.conf.d","/data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/package.conf.d"]
Warning: include-dirs: /data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/../lib/aarch64-linux-ghc-9.6.2/directory-1.3.8.1/include doesn't exist or isn't a directory
> tree $HOME/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/../lib/aarch64-linux-ghc-9.6.2/directory-1.3.8.1/
/data/home/ubuntu/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/../lib/aarch64-linux-ghc-9.6.2/directory-1.3.8.1/
├── System
│ ├── Directory
│ │ ├── Internal
│ │ │ ├── C_utimensat.dyn_hi
│ │ │ ├── C_utimensat.hi
│ │ │ ├── C_utimensat.p_hi
│ │ │ ├── Common.dyn_hi
│ │ │ ├── Common.hi
│ │ │ ├── Common.p_hi
│ │ │ ├── Config.dyn_hi
│ │ │ ├── Config.hi
│ │ │ ├── Config.p_hi
│ │ │ ├── Posix.dyn_hi
│ │ │ ├── Posix.hi
│ │ │ ├── Posix.p_hi
│ │ │ ├── Prelude.dyn_hi
│ │ │ ├── Prelude.hi
│ │ │ ├── Prelude.p_hi
│ │ │ ├── Windows.dyn_hi
│ │ │ ├── Windows.hi
│ │ │ └── Windows.p_hi
│ │ ├── Internal.dyn_hi
│ │ ├── Internal.hi
│ │ ├── Internal.p_hi
│ │ ├── OsPath.dyn_hi
│ │ ├── OsPath.hi
│ │ └── OsPath.p_hi
│ ├── Directory.dyn_hi
│ ├── Directory.hi
│ └── Directory.p_hi
├── libHSdirectory-1.3.8.1.a
└── libHSdirectory-1.3.8.1_p.a
3 directories, 29 files
> cat $HOME/.ghcup/ghc/9.6.2/lib/ghc-9.6.2/lib/package.conf.d/directory-1.3.8.1.conf
...
data-dir:
${pkgroot}/../share/aarch64-linux-ghc-9.6.2/directory-1.3.8.1
hs-libraries: HSdirectory-1.3.8.1
include-dirs:
${pkgroot}/../lib/aarch64-linux-ghc-9.6.2/directory-1.3.8.1/include
depends:
base-4.18.0.0 filepath-1.4.100.1 time-1.12.2 unix-2.8.1.0
...
Expected behavior
I assume the include directory should exist, or the package config shouldn't include the above include-dirs directive:
> cat $HOME/.ghcup/ghc/9.4.5/lib/ghc-9.4.5/lib/package.conf.d/directory-1.3.7.1.conf
...
data-dir:
${pkgroot}/../share/aarch64-linux-ghc-9.4.5/directory-1.3.7.1
hs-libraries: HSdirectory-1.3.7.1
depends: base-4.17.1.0 filepath-1.4.2.2 time-1.12.2 unix-2.7.3
...
Environment
> uname -a
Linux ip-172-31-17-153 5.19.0-1025-aws #26~22.04.1-Ubuntu SMP Mon Apr 24 01:58:03 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
> ghcup --version
The GHCup Haskell installer, version 0.1.19.4
> ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.2