Reading your answer, I guess my "Guix problems" are these two: 1) How do you check and diff two guix shell environments? I guess this is what you are talking about when speaking about store closure, I was not aware of that concept and did not find how to in the documentation, how do you check the diff of the store closure of both shells? 2) How can I make sure that two guix shell --container are both the same i.e. do I only need to compare the guix describe and check that the packages are the same?
My guess was that the problem was not in the randomness because I fixed the seed and I managed to reproduce the results on other computers but basically with the computers giving either the first or the second result and if the randomness was involved then the results would be more disparate but of course I may be wrong about this. And remark that recently I managed to reproduce the Arch result on an Ubuntu computer with guix pack (but not on the initial Ubuntu computer which still gives the same old different result) so it does not seem to be an Arch versus Ubuntu result. Thanks all of you for all your help, Timothée ----- Mail original ----- > De: "Rutherther" <ruthert...@ditigal.xyz> > À: "Timothee Mathieu" <timothee.math...@inria.fr> > Cc: "help-guix" <help-guix@gnu.org> > Envoyé: Samedi 3 Mai 2025 12:14:45 > Objet: Re: Reproducibility of guix shell container across different host OS > Timothee Mathieu <timothee.math...@inria.fr> writes: > >> Hello, >> >> Sorry I did not believe that the precise values were relevant but here they >> are. >> The average cumulative reward (score) of the agent for exactly the same >> script >> and using Guix for the environment is 1658.3733235021457 on Arch Laptop and >> 1820.325441905902 on the Ubuntu one. But I think due to the feedback loop of >> such simulator (if there is a small difference in the action at time t, it >> can >> imply a large difference at the end of the process) this could be due to a >> small difference in the computations. > > Hi Timothee, > > this is not really what I had in mind. Reproducibility of Guix is simply > that the produced outputs written to the gnu store are the same given > same inputs. That an arbitrary script ran produces different value is > not something that can be mapped to that easily. Hence I would be > interested to see a diff between the store closures of both shells, > starting with difference in hashes of output paths, and ending with diff > of their contents. One common issue can be with different locale, some > of the outputs will depend on the locale. Especially if guix was once > installed with the guix install script and once with the distro package > manager, there could be a discrepancy. I don't know how library you're > using is determining what algorithm to choose for randomness, so I > cannot say if differences in the outputs that only change because of > locale can matter. > > If there is no difference in store closure of the shell (meaning all > paths referenced by the shell), you're likely not debugging an issue of > Guix, but of something else. Ie. the library you're using could be using > different random implementations based on something that is available on > one distro, but not on the other. > > Regards > Rutherther