!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

542 Members
Report: https://reproducible.nixos.org Project progress: https://github.com/orgs/NixOS/projects/30123 Servers

Load older messages


SenderMessageTime
25 Jan 2023
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eucould it be related to parallel builds/optimisation level?10:11:21
@raboof:matrix.orgraboofyeah 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:matrix.orgraboofperhaps 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 well10:21:14
@atemu12:matrix.orgatemu12Perhaps we could make a haskellPackagesReproducible set where parallel builds are off and use that in the ISO10:45:22
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.euI think the problem is that the most commonly used libraries are not particularly small (pandoc, lens, aeson, etc). ~100 modules is typical10:45:43
@baloo_:matrix.orgbaloo
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_:matrix.orgbalooif 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_:matrix.orgbaloobut they would end up with placing object in A and B out of order.17:39:52
@baloo_:matrix.orgbalooanyway, something to "fix" in the build tool itself (cabal?) and not much we can do from a nix perspective?17:40:35
@atemu12:matrix.orgatemu12 baloo: GHC is the relevant program I think. 18:54:31
@atemu12:matrix.orgatemu12GHC upstream weirdly hasn't show much interest in generating binaries deterministically though18:55:07
@atemu12:matrix.orgatemu12Perhaps we can teach our generic linker to enforce order somehow?18:55:39
@baloo_:matrix.orgbalooI don't think we have the relationships between objects20:04:06
@baloo_:matrix.orgbalooyeah, I don't know haskell well enough to know if this is a GHC or a cabal issue.20:04:42
@baloo_:matrix.orgbalooanyway, was just dumping thoughts here ;) I haven't looked at the issue yet20:05:08
@baloo_:matrix.orgbaloo but considering how slow haskell is to compile, I think it's worth not going with the -j 1 option 20:05:52
@atemu12:matrix.orgatemu12 baloo: For regular builds, no. For the subset in the ISO (and only there), j1 could be an option. 20:24:47
@baloo_:matrix.orgbalooRight20:26:32
@baloo_:matrix.orgbaloo(Still wouldn’t mind seeing that fixed upstream, but I’m very slow at writing Haskell)20:27:25
@baloo_:matrix.orgbaloosomeone wants to try a patch? :D22:39:35
@baloo_:matrix.orgbaloohttps://gist.github.com/baloo/ae0c10f2537232790876792faa4bc50622:39:50
@baloo_:matrix.orgbaloonevermind, there was a lot of rewrites?22:49:53
28 Jan 2023
@tgerbet:matrix.orgtgerbet joined the room.16:38:00
@sackboyending:matrix.orgsackboyending joined the room.21:20:40
30 Jan 2023
@zxmon:matrix.orgZxmon joined the room.11:06:18
1 Feb 2023
@plutoisnotblue:matrix.org@plutoisnotblue:matrix.org removed their display name plutoisnotblue.23:36:19
@plutoisnotblue:matrix.org@plutoisnotblue:matrix.org left the room.23:36:33
5 Feb 2023
@meidam:matrix.org@meidam:matrix.org joined the room.00:27:01
9 Feb 2023
@sheijk2:matrix.orgsheijk joined the room.20:58:06
10 Feb 2023
@winterqt:nixos.devWinter (she/her)what do we do to ensue that things like library linking order are reproducible?17:05:45

Show newer messages


Back to Room ListRoom Version: 6