| 25 Jan 2023 |
@rnhmjoj:maxwell.ydns.eu | could it be related to parallel builds/optimisation level? | 10:11:21 |
raboof | yeah single threaded builds seem more reliable but also quite a price to pay (https://github.com/NixOS/nixpkgs/issues/151347#issuecomment-997817696, https://gitlab.haskell.org/ghc/ghc/-/issues/12935#note_373865) | 10:13:26 |
raboof | perhaps an option for some small/fast modules that are currently unreproducible, but it might be good to put some energy in looking into the upstream ghc problem(s?) as well | 10:21:14 |
atemu12 | Perhaps we could make a haskellPackagesReproducible set where parallel builds are off and use that in the ISO | 10:45:22 |
@rnhmjoj:maxwell.ydns.eu | I think the problem is that the most commonly used libraries are not particularly small (pandoc, lens, aeson, etc). ~100 modules is typical | 10:45:43 |
baloo | In reply to @raboof:matrix.org yeah single threaded builds seem more reliable but also quite a price to pay (https://github.com/NixOS/nixpkgs/issues/151347#issuecomment-997817696, https://gitlab.haskell.org/ghc/ghc/-/issues/12935#note_373865) could that be that the objects needs to be fed in a deterministic order to the linker? It looks like the linker just gets them in random order and slaps them together. | 17:31:02 |
baloo | if I remember correctly there are ordering rules between some objects, but that doesn't mean they won't end up in different order at the end.
Like you could get A -> C and B -> C, but you could end up with A,B,C or B,A,C which would be valid calls to the linker. | 17:39:22 |
baloo | but they would end up with placing object in A and B out of order. | 17:39:52 |
baloo | anyway, something to "fix" in the build tool itself (cabal?) and not much we can do from a nix perspective? | 17:40:35 |
atemu12 | baloo: GHC is the relevant program I think. | 18:54:31 |
atemu12 | GHC upstream weirdly hasn't show much interest in generating binaries deterministically though | 18:55:07 |
atemu12 | Perhaps we can teach our generic linker to enforce order somehow? | 18:55:39 |
baloo | I don't think we have the relationships between objects | 20:04:06 |
baloo | yeah, I don't know haskell well enough to know if this is a GHC or a cabal issue. | 20:04:42 |
baloo | anyway, was just dumping thoughts here ;) I haven't looked at the issue yet | 20:05:08 |
baloo | but considering how slow haskell is to compile, I think it's worth not going with the -j 1 option | 20:05:52 |
atemu12 | baloo: For regular builds, no. For the subset in the ISO (and only there), j1 could be an option. | 20:24:47 |
baloo | Right | 20:26:32 |
baloo | (Still wouldn’t mind seeing that fixed upstream, but I’m very slow at writing Haskell) | 20:27:25 |
baloo | someone wants to try a patch? :D | 22:39:35 |
baloo | https://gist.github.com/baloo/ae0c10f2537232790876792faa4bc506 | 22:39:50 |
baloo | nevermind, there was a lot of rewrites? | 22:49:53 |
| 28 Jan 2023 |
| tgerbet joined the room. | 16:38:00 |
| sackboyending joined the room. | 21:20:40 |
| 30 Jan 2023 |
| Zxmon joined the room. | 11:06:18 |
| 1 Feb 2023 |
| @plutoisnotblue:matrix.org removed their display name plutoisnotblue. | 23:36:19 |
| @plutoisnotblue:matrix.org left the room. | 23:36:33 |
| 5 Feb 2023 |
| @meidam:matrix.org joined the room. | 00:27:01 |
| 9 Feb 2023 |
| sheijk joined the room. | 20:58:06 |
| 10 Feb 2023 |
Winter (she/her) | what do we do to ensue that things like library linking order are reproducible? | 17:05:45 |