Package: ghc
Version: 9.4.7-3
Severity: grave
Justification: renders package unusable
I recently uploaded a new version of GHC to unstable, in order to fix #1068179. As a result, GHC got rebuilt taking into account the new size
for time_t on arm{el,hf}. This is evident from the build logs, where
we now see:
https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=9.4.7-4&stamp=1712410679&raw=0
checking Haskell type for time_t... Int64
whereas previously we had:
https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=9.4.7-3&stamp=1708366014&raw=0
checking Haskell type for time_t... Int32
After this change, a number of Haskell packages have started to FTBFS:
* https://buildd.debian.org/status/fetch.php?pkg=haskell-filestore&arch=armel&ver=0.6.5-3%2Bb2&stamp=1712457355&raw=0
* https://buildd.debian.org/status/fetch.php?pkg=haskell-fold-debounce&arch=armel&ver=0.2.0.11-1%2Bb2&stamp=1712466208&raw=0
* https://buildd.debian.org/status/fetch.php?pkg=haskell-hourglass&arch=armel&ver=0.2.12-5%2Bb2&stamp=1712462130&raw=0
Looking into this, I see that (at least) the getPOSIXTime method is
broken on arm{el,hf}.
...
Ilias
FTR, in haskell-hourglass this is #1001686 which already failed on x32
for this reason.
My reading of the code is that this happens when libraries/time/lib/cbits/HsTime.c returns 0x80000000 due to
localtime_r() called in this function returning an error.
The "localtime_r failed" is from libraries/time/lib/Data/Time/LocalTime/Internal/TimeZone.hs
Hi Adrian,
On Tue, Apr 09, 2024 at 12:56PM, Adrian Bunk wrote:
FTR, in haskell-hourglass this is #1001686 which already failed on x32
for this reason.
I believe it's not. haskell-hourglass used to work on arm{el,hf} just
before the time64 transition.
My reading of the code is that this happens when libraries/time/lib/cbits/HsTime.c returns 0x80000000 due to
localtime_r() called in this function returning an error.
The "localtime_r failed" is from libraries/time/lib/Data/Time/LocalTime/Internal/TimeZone.hs...
The fix here is to backport (at least) the following patches which
change these calls to use the capi calling convention:
* https://gitlab.haskell.org/ghc/packages/time/-/commit/d52314edb138b6ecd7e888c588f83917b0ee2c29
* https://gitlab.haskell.org/ghc/packages/directory/-/commit/f6b288bd96fba5a955d1f73663eb52c1859ee765
...
We need a way to identify every package that is broken.
Ilias
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:25:28 |
Calls: | 6,706 |
Files: | 12,236 |
Messages: | 5,350,493 |