From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: bug#22304: Julia not reproducible Date: Fri, 24 Jan 2020 19:30:20 +0100 Message-ID: References: <874kymsli5.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:41672) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iv3jU-0007fL-E1 for bug-guix@gnu.org; Fri, 24 Jan 2020 13:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iv3jT-0003E3-9p for bug-guix@gnu.org; Fri, 24 Jan 2020 13:31:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:48773) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iv3jR-0003DW-Pv for bug-guix@gnu.org; Fri, 24 Jan 2020 13:31:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iv3jR-00084T-MP for bug-guix@gnu.org; Fri, 24 Jan 2020 13:31:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 22304@debbugs.gnu.org Hi, On Mon, 2 Dec 2019 at 18:28, zimoun wrote: > If I understand well [1], the file .ji are "precompiled" (analogy: .pyc).= Hum?! The non-determinism seems coming from these "precompiled" .ji files and 2 bugs are opened upstream. https://github.com/JuliaLang/julia/issues/25900 https://github.com/JuliaLang/julia/issues/34115 Thanks to Nicol=C3=B2 to pointing out these [1] when working on the version= update. [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D38546#80 With lengthy and clear details. :-) Let start the container with everything useful. --8<---------------cut here---------------start------------->8--- mkdir -p /tmp/test-julia && cd /tmp/test-julia guix time-machine --commit=3Db5d4d5b \ environment -u nixbld --no-cwd --container --network \ --expose=3D$(realpath determinism) --share=3D/tmp/test-julia \ --ad-hoc julia coreutils nss-certs curl tar gzip --8<---------------cut here---------------end--------------->8--- Then, the path to reproduce is odd because there is no Julia packages in Guix. So we need to use 'Pkg' from Julia which downloads from elsewhere and the reproducibility of such is not well controlled but it gives an idea. :-) --8<---------------cut here---------------start------------->8--- export SSL_CERT_DIR=3D"$GUIX_ENVIRONMENT/etc/ssl/certs" export SSL_CERT_FILE=3D"$SSL_CERT_DIR/ca-certificates.crt" export GIT_SSL_CAINFO=3D"$SSL_CERT_FILE" # populate the Julia package manager julia --startup-file=3Dno -q -e 'using Pkg; Pkg.instantiate()' # install something julia --startup-file=3Dno -q -e 'using Pkg; Pkg.add("Compat")' # use something / precompiled it julia --startup-file=3Dno -q -e 'using Compat' # check the .ji file md5sum ~/.julia/compiled/v1.1/Compat/* --8<---------------cut here---------------end--------------->8--- Then each time one runs this block, one gets different hash. All the best, simon