Hi,
On Thu, 30 Nov 2023 at 14:09, Tomas Volf <~@wolfsden.cz> wrote:
Toggle quote (2 lines)
> $ guix time-machine --no-offload -q --commit=97a5819643a045b7cc68e80fd2fc05ed4eabf0d0 -- describe
Toggle quote (10 lines)
> ./guix/store.scm:1421:15: In procedure loop:
> ERROR:
> 1. &store-protocol-error:
> message: "build of `/gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv' failed"
> status: 100
> guix time-machine: error: You found a bug: the program '/gnu/store/pgknv6235znk5d08lyifx3xvxl5fxszi-compute-guix-derivation'
> failed to compute the derivation for Guix (version: "97a5819643a045b7cc68e80fd2fc05ed4eabf0d0"; system: "x86_64-linux";
> host version: "1237c9dda87f8d8259b43b5ee4510ecd01d0b71b"; pull-version: 1).
> Please report the COMPLETE output above by email to <bug-guix@gnu.org>.
First, please note that 97a5819643a045b7cc68e80fd2fc05ed4eabf0d0 is from:
CommitDate: Sat Mar 19 13:33:06 2022 -0600
Second, the failure leads to:
Toggle snippet (30 lines)
$ guix build /gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv
[...]
Test Summary Report
-------------------
../test/recipes/80-test_cms.t (Wstat: 1280 Tests: 6 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
../test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 29 Failed: 1)
Failed test: 12
Non-zero exit status: 1
Files=158, Tests=2636, 84 wallclock secs ( 1.39 usr 0.12 sys + 78.30 cusr 15.69 csys = 95.50 CPU)
Result: FAIL
make[1]: *** [Makefile:208: _tests] Error 1
make[1]: Leaving directory '/tmp/guix-build-openssl-1.1.1l.drv-0/openssl-1.1.1l'
make: *** [Makefile:205: tests] Error 2
Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("test") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 84.5 seconds
command "make" "test" failed with status 2
builder for `/gnu/store/vhp1m48jlgqq2dg8pjnv1krj9f608f94-openssl-1.1.1l.drv' failed with exit code 1
build of /gnu/store/vhp1m48jlgqq2dg8pjnv1krj9f608f94-openssl-1.1.1l.drv failed
View build log at '/var/log/guix/drvs/vh/p1m48jlgqq2dg8pjnv1krj9f608f94-openssl-1.1.1l.drv.gz'.
cannot build derivation `/gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv' failed
It is a known time-bomb. For now we do not have better other than
hard-code the time. On my machine, I do:
Toggle snippet (11 lines)
$ sudo timedatectl set-ntp false
$ sudo timedatectl set-time '2022-03-18 00:00:00'
$ guix build /gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv
[...]
successfully built /gnu/store/rprhfhdq4wqhq30wqzkps481s7v516ci-git-minimal-2.34.1.drv
/gnu/store/jdn2j1v9n16kzzhcvkpb7cm3n8i8j8rz-git-minimal-2.34.1
Although not fully visible, this time-bomb is already documented in the
manual:
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.
Well, I agree that the situation is currently poor. For now, it means
some tricks.
Cheers,
simon