gcc-core-mesboot1 may not be deterministic

  • Open
  • quality assurance status badge
Details
2 participants
  • Thiago Jung Bauermann
  • Ludovic Courtès
Owner
unassigned
Submitted by
Thiago Jung Bauermann
Severity
important
Merged with
T
T
Thiago Jung Bauermann wrote on 12 Aug 2021 21:19
(name . Bug Guix)(address . bug-guix@gnu.org)
3505331.lUEJ2uQ5fA@popigai
Hello,

Using Guix from both the ‘master’ branch¹ and from the ‘core-updates-frozen’
branch², the following command fails:

Toggle snippet (6 lines)
$ guix build --check \
-e '(@@ (gnu packages commencement) gcc-core-mesboot1)’
guix build: erro: derivation `/gnu/store/qbnxfv7v7288iisl44kccz68k0pv9qdi-gcc-core-mesboot1-4.6.4.drv' may not be deterministic: output `/gnu/store/rn3qvn67nraicabvlrx1rhw6nsjrpgpx-gcc-core-mesboot1-4.6.4' differs

During the stripping phase, there are many of these warnings, which may be
related:

Toggle snippet (26 lines)
starting phase `strip'
stripping binaries in "/gnu/store/rn3qvn67nraicabvlrx1rhw6nsjrpgpx-gcc-core-mesboot1-4.6.4/lib" with "strip" and flags ("--strip-debug" "--enable-deterministic-archives")
strip: unrecognized option `--enable-deterministic-archives'
Usage: strip <option(s)> in-file(s)
Removes symbols and sections from files
The options are:
-I --input-target=<bfdname> Assume input file is in format <bfdname>
-O --output-target=<bfdname> Create an output file in format <bfdname>
-F --target=<bfdname> Set both input and output format to <bfdname>
-p --preserve-dates Copy modified/access timestamps to the output
-R --remove-section=<name> Remove section <name> from the output
-s --strip-all Remove all symbol and relocation information
-g -S -d --strip-debug Remove all debugging symbols
--strip-unneeded Remove all symbols not needed by relocations
-N --strip-symbol=<name> Do not copy symbol <name>
-K --keep-symbol=<name> Only copy symbol <name>
-x --discard-all Remove all non-global symbols
-X --discard-locals Remove any compiler-generated symbols
-v --verbose List all object files modified
-V --version Display this program's version number
-h --help Display this output
--info List object formats & architectures supported
-o <file> Place stripped output into <file>
strip: supported targets: elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big srec symbolsrec tekhex binary ihex trad-core

--
Thanks,
Thiago


¹ commit eb0abba3877c0caeac24d0f9c71f31420dba8d6b
² commit a3fc64e4f159b601c18d091713f9c76c01b010aa
L
L
Ludovic Courtès wrote on 20 Sep 2021 09:08
control message for bug #50031
(address . control@debbugs.gnu.org)
87pmt3rafy.fsf@gnu.org
severity 50031 important
quit
L
L
Ludovic Courtès wrote on 20 Sep 2021 09:08
control message for bug #45962
(address . control@debbugs.gnu.org)
87o88nrafn.fsf@gnu.org
merge 45962 50031
quit
L
L
Ludovic Courtès wrote on 20 Sep 2021 09:11
Re: bug#50031: gcc-core-mesboot1 may not be deterministic
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 50031@debbugs.gnu.org)
87k0jbrab2.fsf@gnu.org
Hi Thiago,

Thiago Jung Bauermann <bauermann@kolabnow.com> skribis:

Toggle quote (16 lines)
> Using Guix from both the ‘master’ branch¹ and from the ‘core-updates-frozen’
> branch², the following command fails:
>
> $ guix build --check \
> -e '(@@ (gnu packages commencement) gcc-core-mesboot1)’
> ⋮
> guix build: erro: derivation `/gnu/store/qbnxfv7v7288iisl44kccz68k0pv9qdi-gcc-core-mesboot1-4.6.4.drv' may not be deterministic: output `/gnu/store/rn3qvn67nraicabvlrx1rhw6nsjrpgpx-gcc-core-mesboot1-4.6.4' differs
>
>
> During the stripping phase, there are many of these warnings, which may be
> related:
>
> starting phase `strip'
> stripping binaries in "/gnu/store/rn3qvn67nraicabvlrx1rhw6nsjrpgpx-gcc-core-mesboot1-4.6.4/lib" with "strip" and flags ("--strip-debug" "--enable-deterministic-archives")
> strip: unrecognized option `--enable-deterministic-archives'

This was discussed in https://issues.guix.gnu.org/45962. There’s the
beginning of a patch there that needs to be adapted to avoid depending
on xz at this early stage, I think.

Thanks,
Ludo’.
T
T
Thiago Jung Bauermann wrote on 21 Sep 2021 03:33
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 50031@debbugs.gnu.org)
1850570.rOgch81kve@popigai
Hello Ludo,

Em segunda-feira, 20 de setembro de 2021, às 04:11:13 -03, Ludovic Courtès
escreveu:
Toggle quote (21 lines)
> Hi Thiago,
>
> Thiago Jung Bauermann <bauermann@kolabnow.com> skribis:
> > Using Guix from both the ‘master’ branch¹ and from the
> > ‘core-updates-frozen’ branch², the following command fails:
> >
> > $ guix build --check \
> >
> > -e '(@@ (gnu packages commencement) gcc-core-mesboot1)’
> > ⋮
> >
> > guix build: erro: derivation
> > `/gnu/store/qbnxfv7v7288iisl44kccz68k0pv9qdi-gcc-core-mesboot1-4.6.4.d
> > rv' may not be deterministic: output
> > `/gnu/store/rn3qvn67nraicabvlrx1rhw6nsjrpgpx-gcc-core-mesboot1-4.6.4'
> > differs
>
> This was discussed in <https://issues.guix.gnu.org/45962>. There’s the
> beginning of a patch there that needs to be adapted to avoid depending
> on xz at this early stage, I think.

Thank you for mentioning that discussion. I should have found that before
filing this issue. Sorry for the duplicate report.

--
Thanks,
Thiago
?