Subject: Re: bug#53415: binutils-mesboot1-2.14 configure phase fails, In procedure stat: No such file or directory: "config.status"

From: Christopher Baines <[email-masked]>
Date: Mon, 31 Jan 2022 19:38:14 +0000

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Christopher Baines <[email-masked]> skribis:
>
>> I've seen this failure consistently on one of the machines behind
>> bordeaux.guix.gnu.org, you can see the full logs via following the "View
>> build" links here [1].
>>
>> 1: http://data.guix.gnu.org/gnu/store/xd8rnmr0k3fhfhilzi66hnggsnx67d5i-binutils-mesboot1-2.14.drv
>>
>> I've tried building multiple times on the machine where the failures
>> occurred, and it's not once succeeded.
>>
>>>>From looking at the kept build directory, the config.status file doesn't
>> exist. There is config.status.VX1nZz, but it's empty.
>>
>>
>>
>> starting phase `configure'
>> running ./configure --disable-nls --disable-shared --disable-werror
>> --build=i686-unknown-linux-gnu --host=i686-unknown-linux-gnu
>> --with-sysroot=/
>> --prefix=/gnu/store/gvmha2v54svwzxigcbap8862rg3fya0w-binutils-mesboot1-2.14
>> error: in phase 'configure': uncaught exception:
>> system-error "stat" "~A: ~S" ("No such file or directory" "config.status") (2) 
>> phase `configure' failed after 0.0 seconds
>
> I just tried this on my laptop:
>
>   guix build \
>     /gnu/store/xd8rnmr0k3fhfhilzi66hnggsnx67d5i-binutils-mesboot1-2.14.drv \
>     --check
>
> and the ‘configure’ phase completes without problems.  I have:
>
> $ uname -srv
> Linux 5.15.12-gnu #1 SMP 1
>
> This reminds me of:
>
>   https://issues.guix.gnu.org/49985
>   https://issues.guix.gnu.org/45165
>
> Could it be something with the kernel options, as discussed at
> <https://issues.guix.gnu.org/45165#16>?

I was on the following Linux from Guix revision
fe58f05b2482fd45c41fe324ac0d393093dc163e:

Linux 5.15.13-gnu #1 SMP 1

I've tried reconfiguring with f8633a739511e8d5bef93b18b346efb69b91ac8e
which provides Linux 5.15.12, but I see the same behaviour.

Looking at the successful build log, I've realised that the ./configure
script is probably crashing, not producing the config.status file, which
is causing the exception seen.

I've tried stracing everything, and attached the portion from around
where ./configure starts, to the Guile exception for the end of the
build.

I did notice some suspicious looking bits like the following:

stat("/tmp/guix-build-binutils-mesboot1-2.14.drv-0", 0xffffd058) = -1 EOVERFLOW (Value too large for defined data type)