Yes, good question. I was not sure how to make sure of that in =guix shell= except by making sure that the =guix describe= are the same (I can check the packages I am interested in have the same hash but I can't reasonably check by hand all the dependencies). I don't know if there is a way to do that, say do a diff on the profile or something.
My solution was to use =guix pack=, because then everything is packaged in a .tar.gz that I can copy from one computer to the other and because they are literally just copies, I am sure that they are the same file. But of course, =guix pack= comes with its lot of problems, in particular how to make sure that no libraries from host are used, and for this I tried to remove everything from env or to use =guix -C= and in both cases I got the discrepancy in reproducibility with guix pack. So either my procedure to isolate from host OS libraries is faulty or the problem does not come from the libraries but from the hardware (although I doubt that the problem is hardware because I tried on, so far 6 computers and all of them gave either the same result as the initial Arch laptop or as the Ubuntu laptop). I understand that Guix does not promise full reproducibility but I thought maybe someone could still help me get it :) Timothée. ----- Mail original ----- > De: "Marek Paśnikowski" <ma...@marekpasnikowski.pl> > À: "help-guix" <help-guix@gnu.org> > Cc: "Timothee Mathieu" <timothee.math...@inria.fr> > Envoyé: Samedi 3 Mai 2025 10:45:27 > Objet: Re: Reproducibility of guix shell container across different host OS >> Doing so, we noticed that the results were indeed reproducible between two >> Ubuntu computer (one is a laptop, the other a server). However, when trying >> the >> exact same command with the exact same channels file (with fixed commit) on >> some Arch-Linux laptop, the result was different. We did the test on two Arch >> laptops and the results were are reproducible but with a different value from >> the Ubuntu ones. All the considered laptops and servers have different kernel >> but this doesn't seem to be the problem because Ubuntu is reproducible with >> Ubuntu and Arch reproducible with Arch. >> Moreover, the difference is not small, which is weird because in the script >> we >> fix the random seed. Do you have any idea why there is a difference? >> > > I am a bystander of this discussion, with almost no relevant experience. > However, I am starting to see a potential misunderstanding here. > > Guix promises reproducibility of binaries, not of their results. > Which means that the simulators built on different machines should all be > identical. > > Is this the case that the executables are identical, and only the output of > their work differs? > I have not seen any indication that this has been verified so far.