!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

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

Load older messages


SenderMessageTime
23 Jan 2023
@rick:matrix.ciphernetics.nlRick (Mindavi)This one, I guess: https://news.ycombinator.com/item?id=3449037618:28:30
@linus:schreibt.jetzt@linus:schreibt.jetztyou got me :p18:29:44
@raboof:matrix.orgraboofhttps://arnout.engelen.eu/nixos-iso-gnome-r13y/ / https://arnout.engelen.eu/nixos-iso-minimal-r13y/ are more recent (would be happy to work together on r13y.com)18:31:37
24 Jan 2023
@raboof:matrix.orgraboofhttps://github.com/NixOS/nixos-org-configurations/pull/23412:02:46
25 Jan 2023
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu
In reply to @raboof:matrix.org
https://arnout.engelen.eu/nixos-iso-gnome-r13y/ / https://arnout.engelen.eu/nixos-iso-minimal-r13y/ are more recent (would be happy to work together on r13y.com)
wow that's a lot of haskell libraries. I had forgotten that GHC object files are not reproducible. are there any recent developments about this?
09:59:02
@rnhmjoj:maxwell.ydns.eu@rnhmjoj:maxwell.ydns.eu* wow, that's a lot of haskell libraries. I had forgotten that GHC object files are not reproducible. are there any recent developments about this?09:59:05
@atemu12:matrix.orgatemu12Perhaps you could ask nh2, they're into GHC stuff10:00:03
@raboof:matrix.orgraboofI didn't notice much activity in https://github.com/NixOS/nixpkgs/issues/151347 / https://gitlab.haskell.org/ghc/ghc/-/issues/1293510:06:54
@raboof:matrix.orgraboofthough it seems it doesn't necessarily impact all haskell builds? there's quite some green ones in https://reproducible.archlinux.org/10:09:53
@raboof:matrix.orgraboof quick experiment: haskellPackages.void seems reproducible for us as well 10:10:58
@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

Show newer messages


Back to Room ListRoom Version: 6