help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unable to build "Ten Years Reproducibility Challenge" paper


From: Simon Tournier
Subject: Re: Unable to build "Ten Years Reproducibility Challenge" paper
Date: Tue, 31 Oct 2023 16:19:57 +0100

Hi,

Thanks for the attempt and the report.

On dim., 29 oct. 2023 at 18:44, Suhail <suhail@bayesians.ca> wrote:

> <https://hpc.guix.info/blog/2020/06/reproducible-research-articles-from-source-code-to-pdf/>.

[...]

>   $> guix time-machine -C channels.scm -- build -f guix.scm

[...]

> As can be seen in the attached build log, it seems some tests for
> openssl are failing.

Arf, it was still working end of June 2023.  The substitutes is probably
gone and yeah OpenSSL has a time-bomb in its test suite.

Sadly, it is a known issue:

     Note: Although it should technically be possible to travel to such
     an old commit, the ease to do so will largely depend on the
     availability of binary substitutes.  When traveling to a distant
     past, some packages may not easily build from source anymore.  One
     such example are old versions of Python 2 which had time bombs in
     its test suite, in the form of expiring SSL certificates.  This
     particular problem can be worked around by setting the hardware
     clock to a value in the past before attempting the build.

     
https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-time_002dmachine

Here, we are hitting some unexpected limitations about time-travel. :-)
For an immediate fix, you can do something along these lines:

        sudo timedatectl set-ntp false
        sudo timedatectl set-time '2020-06-23 00:00:00'

or adapt for OpenSuse.  This should make the OpenSSL test suite passes.


For a long-term fix, I have done a systematic review about what happens
in the worst case scenario:

    https://simon.tournier.info/posts/2023-06-23-hackathon-repro.html

And we are not yet bullet-proof.  Work in progress… :-)

Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]