Hello Jan! Jan Nieuwenhuizen <jann...@gnu.org> skribis:
> I have been building quite some versions of Guile the past week. There > re a couple of .go files that keep giving me problems wrt > nondeterminism: > > web/server/http.go > > (define *timer* (gettimeofday)) seemed suspect, but seems harmless. > > rnrs/arithmetic/fixnums.go > > make-implementation-restriction-violation seemed suspect, but commenting > it out does not seem to help. > > After commenting out all of http.scm and fixnums.scm, yesterday I had 3 > Guix builds on two machines (GuixSD and one Ubuntu+Guix) that were > bit-identical, but one build showed differences in > > system/repl/commands.go > > Apparently most of the time this file builds deterministicly, but some > times it does not!? Ideas? Did you look at these differences with diffoscope? That would be useful. > In the mean time, one more obviously correct and trivial patch attatched > that removes a build time stamp. I’ve committed something similar but that honors ‘SOURCE_DATE_EPOCH’. So by default there’s no difference compared to the previous behavior, but if ‘SOURCE_DATE_EPOCH’ is given, then it is used as the build date. Thanks! Ludo’.