GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2024-03-27T12:34:17Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/17418MacOS notarization2024-03-27T12:34:17ZBen GamariMacOS notarizationIt seems that macOS Catalina may [require](https://appletoolbox.com/everything-you-need-to-know-about-app-notarization-in-macos-catalina/) that all "Apps" (which I believe covers GHC, although it is such a vague term that it is hard to t...It seems that macOS Catalina may [require](https://appletoolbox.com/everything-you-need-to-know-about-app-notarization-in-macos-catalina/) that all "Apps" (which I believe covers GHC, although it is such a vague term that it is hard to tell) must be ["notarized"](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution). I suppose this is yet another hoop that we will have to jump through. Sigh...
# Temporary workaround
Users can explicitly mark the binary distribution as trusted after extraction by running `xattr -rc $path_to_bindist_directory`.
# References
* [NodeJS issue](https://github.com/nodejs/node/issues/29216)
* [golang issue](https://github.com/golang/go/issues/34986)
* [GraalVM issue](https://github.com/oracle/graal/issues/1724)
* [Mono issue](https://github.com/mono/mono/issues/15333)
* [a potential workaround](https://news.ycombinator.com/item?id=21180185) although apparently this requires that the user have `root`
* [macports thread](https://lists.macports.org/pipermail/macports-dev/2019-April/040593.html)
* [a useful StackOverflow question](https://apple.stackexchange.com/questions/356994/how-will-apples-notarization-impact-programs-written-in-python)
* [bit of prose from Apple](https://developer.apple.com/news/?id=09032019a) which states that all software released after Jan 2020 will need to use the [hardened runtime](https://developer.apple.com/documentation/security/hardened_runtime_entitlements)https://gitlab.haskell.org/ghc/ghc/-/issues/23871Testing ghc-toolchain in packaging environments2024-03-21T09:52:05ZMatthew PickeringTesting ghc-toolchain in packaging environmentsWe want to test that ghc-toolchain works in as many situations as possible. This will require building ghc with the `--enable-strict-ghc-toolchain-check` configure flag and verifying that the output produced by ghc-toolchain is the same ...We want to test that ghc-toolchain works in as many situations as possible. This will require building ghc with the `--enable-strict-ghc-toolchain-check` configure flag and verifying that the output produced by ghc-toolchain is the same as the configure script.
Here are a list of potential places where we will want to test this:
- [x] GHC CI itself ( !10976 )
- [ ] Fedora packaging (cc @juhp)
- [ ] Debian packaging
- [ ] Homebrew packaging
- [ ] Haskell.nix packaging
- [ ] nixpkgs packaging
Perhaps people have some other ideas about places where GHC is built from source we should also be testing.Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/24548configure ignores LDFLAGS2024-03-21T09:39:17ZRodrigo Mesquitaconfigure ignores LDFLAGS## Summary
It seems that `./configure` ignores `LDFLAGS` (whereas `ghc-toolchain` doesn't).
## Steps to reproduce
`LDFLAGS="-Lsomethingbogus" ./configure`
You should get
```
There are some differences between the toolchain configure...## Summary
It seems that `./configure` ignores `LDFLAGS` (whereas `ghc-toolchain` doesn't).
## Steps to reproduce
`LDFLAGS="-Lsomethingbogus" ./configure`
You should get
```
There are some differences between the toolchain configured by "configure" (hadrian/cfg/default.target) and the toolchain configured by the "ghc-toolchain" program (hadrian/cfg/default.target.ghc-toolchain).
20c20
< { ccLinkProgram = Program { prgPath = "/usr/bin/gcc" , prgFlags = ["--target=arm64-apple-darwin","-Wl,-no_fixup_chains","-Wl,-no_warn_duplicate_libraries"] }
---
> { ccLinkProgram = Program { prgPath = "/usr/bin/gcc" , prgFlags = ["--target=arm64-apple-darwin","-Lsomethingbogus","-Wl,-no_fixup_chains","-Wl,-no_warn_duplicate_libraries"] }
```
## Expected behavior
`./configure`-based toolchain configuration should also consider `LDFLAGS` into the cclinker program.
I suppose this is not a priority because `ghc-toolchain` is already doing this right and we ultimately want to move toolchain configuration to it. It is yet another datapoint to hurry on the move (BTW, I think it has been two releases since ghc-toolchain is available opt-in... perhaps the time to make the move is drawing close?).
## Environment
* GHC version used: HEAD
Optional:
* Operating System: macOS
* System Architecture: aarch64https://gitlab.haskell.org/ghc/ghc/-/issues/21970Cross-compiler binary distribution configure script requires --target flag2024-03-20T10:46:50ZBen GamariCross-compiler binary distribution configure script requires --target flagCurrently when one attempts to install a cross-compiler bindist, one must pass `--target=...` to the bindist `configure`. Ideally the `configure` script would already know the target platform.Currently when one attempts to install a cross-compiler bindist, one must pass `--target=...` to the bindist `configure`. Ideally the `configure` script would already know the target platform.9.10.1https://gitlab.haskell.org/ghc/ghc/-/issues/24093user_guide.pdf not present in doc tarball2024-03-17T23:54:24ZBen Gamariuser_guide.pdf not present in doc tarballIn 9.8.1 the PDF version of the user-guide did not make it into the doc-tarball which gets uploaded to `downloads.haskell.org`.In 9.8.1 the PDF version of the user-guide did not make it into the doc-tarball which gets uploaded to `downloads.haskell.org`.9.10.1Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/22723Bindist testsuite is missing files2024-03-16T08:04:15ZJulian OspaldBindist testsuite is missing files1. `wget https://downloads.haskell.org/ghc/9.4.4/ghc-9.4.4-testsuite.tar.xz`
2. `tar xf ghc-9.4.4-testsuite.tar.xz`
3. `cd ghc-9.4.4/testsuite`
4. `ghcup run --ghc 9.4.4 -- make TEST=Rename1 WAY=optasm SKIP_PERF_TESTS=YES`
Result:
```
...1. `wget https://downloads.haskell.org/ghc/9.4.4/ghc-9.4.4-testsuite.tar.xz`
2. `tar xf ghc-9.4.4-testsuite.tar.xz`
3. `cd ghc-9.4.4/testsuite`
4. `ghcup run --ghc 9.4.4 -- make TEST=Rename1 WAY=optasm SKIP_PERF_TESTS=YES`
Result:
```
make -C ./tests all
make[1]: Entering directory '/home/hasufell/tmp/ttt/ghc-9.4.4/testsuite/tests'
PYTHON="python3" "python3" ../driver/runtests.py -e "ghc_compiler_always_flags='-dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output'" -e "config.compiler_debugged=False" -e ghc_with_native_codegen=True -e "config.leading_underscore=False" -e ghc_with_threaded_rts=True -e ghc_with_dynamic_rts=True -e config.have_interp=True -e config.unregisterised=False -e config.have_gdb=True -e config.have_readelf=True -e config.have_fast_bignum=False -e config.ghc_dynamic=True -e ghc_with_smp=True -e config.have_RTS_linker=True -e config.libdir="r\"/home/hasufell/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib\"" -e windows=False -e darwin=False -e config.in_tree_compiler=False --skip-perf-tests -e config.cleanup=True -e config.local=True --rootdir=. --config-file=../config/ghc --top="/home/hasufell/tmp/ttt/ghc-9.4.4/testsuite" -e 'config.platform="x86_64-unknown-linux"' -e 'config.os="linux"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 'config.timeout=int() or config.timeout' -e 'config.exeext=""' --config 'compiler="/home/hasufell/.ghcup/tmp/ghcup-ghc-9.4.4/ghc"' --config 'ghc_pkg="/home/hasufell/.ghcup/tmp/ghcup-ghc-9.4.4/ghc-pkg"' --config 'haddock="/home/hasufell/.ghcup/tmp/ghcup-ghc-9.4.4/haddock"' --config 'hp2ps="/home/hasufell/.ghcup/tmp/ghcup-ghc-9.4.4/hp2ps"' --config 'hpc="/home/hasufell/.ghcup/tmp/ghcup-ghc-9.4.4/hpc"' --config 'gs="gs"' --config 'timeout_prog="../timeout/install-inplace/bin/timeout"' --config 'stats_files_dir=../tests/perf/haddock' -e "config.stage=2" \
--only=Rename1 \
\
--way=optasm \
\
\
\
fatal: not a git repository (or any of the parent directories): .git
Failed to find `llc` command; skipping LLVM ways...
Timeout is 300
Known ways: prof, normal_h, prof_hc_hb, prof_hb, prof_hd, prof_hy, prof_hr, sanity, threaded1_ls, threaded2_hT, debug_numa, llvm, debugllvm, profllvm, profoptllvm, profthreadedllvm, debug, ghci-ext, ghci-ext-prof, ext-interp, nonmoving, nonmoving_thr, nonmoving_thr_sanity, nonmoving_thr_ghc, compacting_gc
Run ways: normal, hpc, optasm, ghci, threaded1, threaded2, dyn, profasm, profthreaded
Compile ways: normal, hpc, optasm, profasm
Failed to get allowed metric changes from the HEAD git commit message.
Allowing performance changes in:
Found 519 .T files...
Beginning test run at Sat Jan 7 23:42:45 2023
Detected CPU features: {'xgetbv1', 'arch_capabilities', 'hwp_notify', 'cx16', 'pclmulqdq', 'erms', 'clflush', 'vpid', 'pse', 'sse2', 'aperfmperf', 'ht', 'x2apic', 'sse3', 'hwp_epp', 'f16c', 'pdcm', 'ospke', 'ept_ad', 'invpcid_single', 'art', 'dtherm', 'xtopology', 'tm2', 'rdseed', 'msr', 'md_clear', ':', 'ibrs_enhanced', 'pge', 'fsgsbase', 'tpr_shadow', 'constant_tsc', 'xtpr', 'flags', 'pebs', 'intel_pt', 'sse4_2', 'pbe', 'ssse3', 'bts', 'mce', 'mca', 'lahf_lm', 'tsc', 'pku', 'cpuid_fault', 'tm', 'nx', 'vmx', 'syscall', 'sse4_1', 'xsavec', 'nopl', 'movbe', 'cpuid', 'ept', 'nonstop_tsc', 'aes', 'stibp', 'avx2', 'arch_perfmon', 'invpcid', 'xsaveopt', 'vme', 'rdrand', 'dtes64', 'fma', 'sgx_lc', 'sdbg', 'hwp_act_window', 'sse', 'fpu', 'pts', 'cx8', 'clflushopt', 'ss', 'mmx', 'smep', 'ssbd', 'smap', 'arat', 'lm', 'ds_cpl', 'ida', 'fxsr', 'flush_l1d', 'rdtscp', 'xsaves', 'pdpe1gb', 'adx', 'pat', 'est', 'pae', 'acpi', 'tsc_deadline_timer', 'popcnt', 'vnmi', 'hwp', 'apic', 'dts', 'mtrr', 'monitor', 'tsc_adjust', 'xsave', '3dnowprefetch', 'mpx', 'sgx', 'pse36', 'sep', 'rep_good', 'pcid', 'flexpriority', 'abm', 'epb', 'bmi1', 'ibpb', 'avx', 'cmov', 'ibrs', 'pln', 'de', 'bmi2'}
Found CPU features: xgetbv1 arch_capabilities hwp_notify cx16 pclmulqdq erms clflush vpid pse sse2 aperfmperf ht x2apic sse3 hwp_epp f16c pdcm ospke ept_ad invpcid_single art dtherm xtopology tm2 rdseed msr md_clear : ibrs_enhanced pge fsgsbase tpr_shadow constant_tsc xtpr flags pebs intel_pt sse4_2 pbe ssse3 bts mce mca lahf_lm tsc pku cpuid_fault tm nx vmx syscall sse4_1 xsavec nopl movbe cpuid ept nonstop_tsc aes stibp avx2 arch_perfmon invpcid xsaveopt vme rdrand dtes64 fma sgx_lc sdbg hwp_act_window sse fpu pts cx8 clflushopt ss mmx smep ssbd smap arat lm ds_cpl ida fxsr flush_l1d rdtscp xsaves pdpe1gb adx pat est pae acpi tsc_deadline_timer popcnt vnmi hwp apic dts mtrr monitor tsc_adjust xsave 3dnowprefetch mpx sgx pse36 sep rep_good pcid flexpriority abm epb bmi1 ibpb avx cmov ibrs pln de bmi2
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
=====> 1 of 1 [0, 0, 0]
Wrong exit code for Rename1()(expected 0 , actual 2 )
Stderr ( Rename1 ):
/bin/sh: line 1: /home/hasufell/tmp/ttt/ghc-9.4.4/inplace/bin/check-exact: No such file or directory
make[2]: *** [Makefile:28: Rename1] Error 127
*** unexpected failure for Rename1(optasm)
Performance Metrics (test environment: local):
None collected.
Unexpected results from:
TEST="Rename1"
SUMMARY for test run started at Sat Jan 7 23:42:45 2023
0:00:00.414214 spent to go through
1 total tests, which gave rise to
13 test cases, of which
8 were skipped
0 had missing libraries
0 expected passes
0 expected failures
0 caused framework failures
0 caused framework warnings
0 unexpected passes
1 unexpected failures
0 unexpected stat failures
0 fragile tests
Unexpected failures:
ghc-api/exactprint/Rename1.run Rename1 [bad exit code (2)] (optasm)
make[1]: *** [../mk/test.mk:344: test] Error 1
make[1]: Leaving directory '/home/hasufell/tmp/ttt/ghc-9.4.4/testsuite/tests'
make: *** [Makefile:20: all] Error 2
```
It is looking for `/home/hasufell/tmp/ttt/ghc-9.4.4/inplace/bin/check-exact`, which does not exist. There are more tests with other files missing e.g. `/home/hasufell/tmp/ttt/ghc-9.4.4/inplace/bin/check-ppr`.Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/24531Runtime failure on windows with zlib-0.7.0.0 when missing zlib library2024-03-12T15:28:23ZHannes SiebenhandlRuntime failure on windows with zlib-0.7.0.0 when missing zlib libraryFirst reported by https://github.com/haskell/zlib/issues/65
GHC doesn't fail compilation of a binary depending on `zlib-0.7.0.0`, although the linking of the zlib system depedency failed. The issue exists at least on GHC 9.2.8 through G...First reported by https://github.com/haskell/zlib/issues/65
GHC doesn't fail compilation of a binary depending on `zlib-0.7.0.0`, although the linking of the zlib system depedency failed. The issue exists at least on GHC 9.2.8 through GHC 9.6.
There is no message when running `cabal build`, but opening a repl session fails with the message:
```
ghc-9.4.8.exe: Could not load `zlib1.dll'. Reason: addDLL: zlib1.dll or dependencies not loaded. (Win32 error 126)
```
I was able to reproduce the issue on Win 10, GHC 9.4.8 and cabal 3.10.2.1, but was unable to reproduce the issue on any windows GitHub CI runners.
I briefly investigated, the main change seems to be that zlib haskell library switched to using `extra-libraries` on windows, which should alwasy exist as GHC ships with zlib on windows. Likewise, I verified the library exists, too.Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/24356Install bash completion file2024-03-05T09:53:22ZBryan Rbryan@haskell.foundationInstall bash completion file#20802 included ghc.bash in the bindist, but it might be nice to actually install it with `make install`, too. At the very least, that would make the script available to GHCup users, though they would still need to manually source it in ...#20802 included ghc.bash in the bindist, but it might be nice to actually install it with `make install`, too. At the very least, that would make the script available to GHCup users, though they would still need to manually source it in their rc files. (Plus, they would need to know where to find it.)https://gitlab.haskell.org/ghc/ghc/-/issues/21732profiling: Build profiling libraries we distribute with -fprof-late2024-02-28T15:57:51ZMatthew Pickeringprofiling: Build profiling libraries we distribute with -fprof-lateThe profiling libraries we currently build are pretty useless for profiling because they don't contain any cost centres. We should add cost centres using -fprof-late and distribute those so profile outputs are more useful for anyone tryi...The profiling libraries we currently build are pretty useless for profiling because they don't contain any cost centres. We should add cost centres using -fprof-late and distribute those so profile outputs are more useful for anyone trying to profile.9.12.1Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/21407Add support for splitting debug symbols2024-02-27T13:58:43ZZubinAdd support for splitting debug symbolsCurrently we offer builds with debug/DWARF information embedded in them. Ideally these wouldn't be separate builds but just packages containing debug symbols that would be compatible with the regular distributions.
We would need to figu...Currently we offer builds with debug/DWARF information embedded in them. Ideally these wouldn't be separate builds but just packages containing debug symbols that would be compatible with the regular distributions.
We would need to figure out how to support splitting out and emitting the debug information separately while compiling code.
In the future we could also use this to offer a [debuginfod](https://wiki.debian.org/Debuginfod) server for profiling and debugging GHC/boot libraries.https://gitlab.haskell.org/ghc/ghc/-/issues/12720Remove ghcii.sh2024-02-27T13:56:51ZTamar ChristinaRemove ghcii.shOn Windows we have an extra script `ghcii.sh` that is recommended when we run in a console that does not use `conhost`. e.g mintty from msys2 or the cygwin shell.
This is because the sigINT signal is being swallowed by these consoles.
...On Windows we have an extra script `ghcii.sh` that is recommended when we run in a console that does not use `conhost`. e.g mintty from msys2 or the cygwin shell.
This is because the sigINT signal is being swallowed by these consoles.
I believe we can work around this by listening to Window messages as well. These consoles do their own drawings, which means they load `gdi32.dll`.
Which means they have a message pump so should be receiving Window events. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms686016(v=vs.85).aspx
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.0.1 |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Remoce ghcii.sh","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.0.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Task","description":"On Windows we have an extra script `ghcii.sh` that is recommended when we run in a console that does not use `conhost`. e.g mintty from msys2 or the cygwin shell.\r\n\r\nThis is because the sigINT signal is being swallowed by these consoles.\r\n\r\nI believe we can work around this by listening to Window messages as well. These consoles do their own drawings, which means they load `gdi32.dll`.\r\n\r\nWhich means they have a message pump so should be receiving Window events. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms686016(v=vs.85).aspx","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/24276The global package db directory of GHC has duplicate files (*.copy)2024-01-09T15:13:57ZOleg GrenrusThe global package db directory of GHC has duplicate files (*.copy)```
/opt/ghc/9.8.1/lib/ghc-9.8.1/lib/package.conf.d % ll
total 1272
-rw-r--r-- 1 phadej phadej 1788 loka 10 10:56 array-0.5.6.0-88aa.conf
-rw-rw-r-- 1 phadej phadej 1788 loka 10 10:56 array-0.5.6.0-88aa.conf....```
/opt/ghc/9.8.1/lib/ghc-9.8.1/lib/package.conf.d % ll
total 1272
-rw-r--r-- 1 phadej phadej 1788 loka 10 10:56 array-0.5.6.0-88aa.conf
-rw-rw-r-- 1 phadej phadej 1788 loka 10 10:56 array-0.5.6.0-88aa.conf.copy
```
I checked versions 9.4.6, 9.6.2 and 9.8.1. All have these `*.copy` files. The 9.2.8 doesn't have.Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/24028Missing users_guide for the Windows distributions of GHC 9.6.*2024-01-09T10:32:10ZHai / @BestYeenMissing users_guide for the Windows distributions of GHC 9.6.*## Summary
In the past, the users_guide doc directory was shipped with the Windows distro of GHC, and that was very handy.
At the moment, it's not shipped anymore, but there's still a link to it in the shipped docs, which is now dead.
...## Summary
In the past, the users_guide doc directory was shipped with the Windows distro of GHC, and that was very handy.
At the moment, it's not shipped anymore, but there's still a link to it in the shipped docs, which is now dead.
A short discussion about it is here: https://discourse.haskell.org/t/ghc-9-6-3-is-now-released/7682
I'm using this documentation a lot when working with Haskell, and I prefer the docs I use to be easy to obtain for offline use.
Please include it again. It's extremely useful to have. Sorry for being a Windows user in this case. :)9.8.2Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/242009.2.8 armv7 bindist is broken2023-11-22T04:02:21ZJulian Ospald9.2.8 armv7 bindist is broken`make install` of bindist https://downloads.haskell.org/~ghc/9.2.8/ghc-9.2.8-armv7-deb10-linux.tar.xz fails with
```
/usr/bin/install -c -m 755 -d "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"
for i in driver/g...`make install` of bindist https://downloads.haskell.org/~ghc/9.2.8/ghc-9.2.8-armv7-deb10-linux.tar.xz fails with
```
/usr/bin/install -c -m 755 -d "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"
for i in driver/ghc-usage.txt driver/ghci-usage.txt includes/dist/build/settings llvm-targets llvm-passes; do case $i in *.a) /usr/bin/install -c
-m 644 $i "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"; true "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib
/ghc-9.2.8"/`basename $i` ;; *.dll) /usr/bin/install -c -m 755 $i "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8" ; : "/ro
ot/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"/`basename $i` ;; *.so) /usr/bin/install -c -m 755 $i "/root/.ghcup/tmp/ghcup-c9
0a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8" ;; *.dylib) /usr/bin/install -c -m 755 $i "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/
ghc-9.2.8";; *) /usr/bin/install -c -m 644 $i "/root/.ghcup/tmp/ghcup-c90a8b5e/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"; esac; done
gcc -E -undef -traditional -P -DINSTALLING -DLIB_DIR='"/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8"' -DINCLUDE_DIR='"/root/.ghcup/ghc/9.2.8/lib/ghc-9.2.8/
include"' -DFFI_INCLUDE_DIR= -DFFI_LIB_DIR= '-DFFI_LIB="Cffi"' -DLIBDW_INCLUDE_DIR= -DLIBDW_LIB_DIR= -Iincludes -Iincludes/dist -Iincludes/dist-der
ivedconstants/header -Iincludes/dist-ghcconstants/header -Iincludes/dist-install/build -x c rts/package.conf.in -o rts/dist/package.conf.install.ra
w
grep -v '^#pragma GCC' rts/dist/package.conf.install.raw | sed -e 's/""//g' -e 's/:[ ]*,/: /g' >rts/dist/package.conf.install
make[1]: *** No rule to make target 'utils/unlit/dist-install/build/tmp/unlit', needed by 'install_libexecs'. Stop.
make: *** [Makefile:51: install] Error 2
```
----
Building 9.2.8 from source and trying to package/install it results in linking errors, because this hsc2hs bug has not been backported: https://gitlab.haskell.org/ghc/ghc/-/commit/99623358754d812b8b4bdfcdc57190d38617b9cc
I fixed all of that downstream: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.2.8/ghc-9.2.8-armv7-deb10-linux-gnueabihf.tar.xzhttps://gitlab.haskell.org/ghc/ghc/-/issues/24129GHC doc build broken by sphinx 72023-11-01T08:10:39ZsterniGHC doc build broken by sphinx 7## Summary
Building the GHC documentation fails with
```
Theme error:
An error happened in rendering the page 9.0.1-notes.
Reason: UndefinedError("'style' is undefined")
```
After upgrading to sphinx 7.2.6.
## Steps to reproduce
Bui...## Summary
Building the GHC documentation fails with
```
Theme error:
An error happened in rendering the page 9.0.1-notes.
Reason: UndefinedError("'style' is undefined")
```
After upgrading to sphinx 7.2.6.
## Steps to reproduce
Build GHC with sphinx 7.2.6, e.g. by building any `ghc*` (non `Binary` ofc) attribute under `haskell.compiler` on nixpkgs `6515b811b82a83f551988dd25ec6ef587fa93ef0`.
Example logs:
- https://hydra.nixos.org/build/239488473/nixlog/1
- https://hydra.nixos.org/build/239551789/nixlog/1
## Expected behavior
Build succeeds.
## Environment
* GHC version used: 9.0.2, 9.4.7
Optional:
* Operating System: NixOS
* System Architecture: x86_64-linux, aarch64-darwinMatthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/24122Boot library version history table is missing 9.4.x entries for x>42023-10-31T15:04:20ZBryan Rbryan@haskell.foundationBoot library version history table is missing 9.4.x entries for x>4https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history only goes up to 9.4.4.https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history only goes up to 9.4.4.ZubinZubinhttps://gitlab.haskell.org/ghc/ghc/-/issues/241219.8.1 hadrian installs libraries LICENSE files into /usr/lib64/ghc-9.8.1/shar...2023-10-31T15:02:42ZJens Petersen9.8.1 hadrian installs libraries LICENSE files into /usr/lib64/ghc-9.8.1/share/doc/x86_64-linux-ghc-9.8.1/*/## Summary
## Steps to reproduce
The general Fedora steps are in ghc9.8.spec here:
https://src.fedoraproject.org/rpms/ghc9.8/tree/rawhide
But currently it works around this problem by just removing the said files at the end.
So curren...## Summary
## Steps to reproduce
The general Fedora steps are in ghc9.8.spec here:
https://src.fedoraproject.org/rpms/ghc9.8/tree/rawhide
But currently it works around this problem by just removing the said files at the end.
So currently it is not a high priority - though the file path seems unsatisfactory to me.
## Expected behavior
The LICENSE files are platform dependent so they could be installed in `/usr/lib64/ghc-9.8.1/share/doc/*/` at least.
Normally they should live around `/usr/share/{doc,licenses}/ghc-9.8.1/*/` instead.
## Environment
* GHC version used: 9.8.1
Optional:
* Operating System: Fedora Linux
* System Architecture: x86_649.8.2Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/23594GHC 9.6 bindists for Aarch64 linux have a broken install of directory package2023-10-10T15:55:22ZAlex MasonGHC 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
1. Install ghcup
2. `ghcup install ghc 9.6.2` (or 9.6.1)
3. `ghcup set ghc 9.6.2`
4...## 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
1. Install ghcup
2. `ghcup install ghc 9.6.2` (or 9.6.1)
3. `ghcup set ghc 9.6.2`
4. `ghc-pkg check --verbose`
```shell
> 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
```
```shell
> 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
```
```shell
> 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:
```shell
> 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
```shell
> 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
```9.8.2Ben GamariZubinBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/24007relpath.sh script produces wrong results2023-10-03T21:40:13ZIlias Tsitsimpisrelpath.sh script produces wrong results## Summary
The mk/relpath.sh script is supposed to be a shell implementation of realpath, but produces wrong results.
## Steps to reproduce
```
$ ./mk/relpath.sh /usr/lib/ghc/lib /usr/lib/ghc-doc
..-doc
```
## Expected behavior
```
...## Summary
The mk/relpath.sh script is supposed to be a shell implementation of realpath, but produces wrong results.
## Steps to reproduce
```
$ ./mk/relpath.sh /usr/lib/ghc/lib /usr/lib/ghc-doc
..-doc
```
## Expected behavior
```
$ realpath --relative-to=/usr/lib/ghc/lib /usr/lib/ghc-doc
../../ghc-doc
```9.8.2Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/23490Fix cabal-install of ghc package2023-09-27T18:27:58ZMatthew PickeringFix cabal-install of ghc packagehttps://gitlab.haskell.org/ghc/ghc/-/merge_requests/10547 has regressed support for building `ghc` library using `cabal-install` as part of the build now needs to be generated using a python script (which is not called from Setup.hs).
E...https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10547 has regressed support for building `ghc` library using `cabal-install` as part of the build now needs to be generated using a python script (which is not called from Setup.hs).
Either we need to revert this patch or fix the Setup.hs.
I am not sure if we should add a build dependency on python like this though. An alternative is to rewrite the generation script in Haskell so we can depend on it using build-tool-depends like the normal primops generation logic.