Subject: bug#45165: binutils-mesboot0 fails at configure, cannot find lex

From: Carl Dong <[email-masked]>
Date: Fri, 11 Dec 2020 11:37:02 -0500

Hi Janneke!

Oh, that’s a very good find! I have no idea why config.cache is not writable… This is most strange!

I checked that my mountpoints have enough free space… Not sure what else to check?

Looking at `guix describe`, I’m on bf8dfe3df025e4ac80cccb87497b4f072ba10e2a 

Cheers,
Carl Dong

> On Dec 11, 2020, at 1:33 AM, Jan Nieuwenhuizen <[email-masked]> wrote:
> 
> Carl Dong writes:
> 
> Hello!
> 
>> Some more information from my debugging:
>> 
>> 1. This error is reproducible even when I specify --cores=1, which is very strange
>> 2. I have attached the full log to this email
> 
> Diffing this with the build log from
> 
> --8<---------------cut here---------------start------------->8---
> guix build -e '(@@ (gnu packages commencement) binutils-mesboot0)' --log-file
> wget https://ci.guix.gnu.org/log/jfa9b78rdniyw7qilsmw3bh02x8x68ly-binutils-mesboot0-2.14 -O jfa9b78rdniyw7qilsmw3bh02x8x68ly-binutils-mesboot0-2.14.gz
> gunzip jfa9b78rdniyw7qilsmw3bh02x8x68ly-binutils-mesboot0-2.14.gz
> diff -u jfa9b78rdniyw7qilsmw3bh02x8x68ly-binutils-mesboot0-2.14  2020-10-10-binutils-mesboot0.log
> [..]
> 
> @@ -5538,16 +5537,16 @@
> checking for i386-unknown-linux-windres... no
> checking for windres... windres
> checking whether to enable maintainer-specific portions of Makefiles... no
> -updating cache ./config.cache
> +not updating unwritable cache ./config.cache
> creating ./config.status
> creating Makefile
> [..]
> @@ -5558,7 +5557,7 @@
> checking whether the C compiler (tcc -D __GLIBC_MINOR__=6 -g ) works... yes
> checking whether the C compiler (tcc -D __GLIBC_MINOR__=6 -g ) is a cross-compiler... no
> checking whether we are using GNU C... no
> -checking for ranlib... (cached) true
> +checking for ranlib... true
> checking for POSIXized ISC... no
> checking for ANSI C header files... yes
> checking for working const... yes
> --8<---------------cut here---------------end--------------->8---
> 
> config values do not get cached (why is config.cache
> unwritable?)...which seems to lead to a misdectected presence of lex:
> 
> --8<---------------cut here---------------start------------->8---
> -@ build-succeeded /gnu/store/bz6xjpzlwf57m4bg3w5ihlq638sscx54-binutils-mesboot0-2.14.drv -
> -checking for flex... (cached) /tmp/guix-build-binutils-mesboot0-2.14.drv-0/binutils-2.14/missing flex
> -checking for flex... (cached) /tmp/guix-build-binutils-mesboot0-2.14.drv-0/binutils-2.14/missing flex
> -checking for yywrap in -ll... (cached) no
> -checking lex output file root... (cached) lex.yy
> [..]
> +checking for flex... no
> +checking for lex... no
> +./configure: line 4417: flex: command not found
> +checking for flex... lex
> +checking for yywrap in -ll... no
> +checking lex output file root... ./configure: line 4505: lex: command not found
> +configure: error: cannot find output from lex; giving up
> +make: *** [configure-ld] Error 1
> --8<---------------cut here---------------end--------------->8---
> 
> What is your build environment/version of guix you're using?  It looks
> like some unreproducible bit is leaking in somewhere??
> 
> Greetings,
> Janneke
> 
> -- 
> Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
> Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com