From mboxrd@z Thu Jan 1 00:00:00 1970 From: T460s laptop Subject: bug#34935: nanopolish is not reproducible Date: Sat, 30 Mar 2019 15:13:01 -0400 Message-ID: <87ef6o41mq.fsf@kwak.i-did-not-set--mail-host-address--so-tickle-me> References: <87imwc6hw2.fsf@gmail.com> <874l7twmm2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:51893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAJQb-0000N7-Gu for bug-guix@gnu.org; Sat, 30 Mar 2019 15:14:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hAJQa-00048r-7s for bug-guix@gnu.org; Sat, 30 Mar 2019 15:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52282) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hAJQY-000481-EB for bug-guix@gnu.org; Sat, 30 Mar 2019 15:14:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hAJQY-000157-5X for bug-guix@gnu.org; Sat, 30 Mar 2019 15:14:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <874l7twmm2.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 23 Mar 2019 18:01:57 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 34935@debbugs.gnu.org, Maxim Cournoyer Ludovic Court=C3=A8s writes: > Maxim Cournoyer skribis: > >> $ guix build --check --no-grafts nanopolish >> [...] >> guix build: error: derivation >> `/gnu/store/7hzcmcwlw83f0wsqmz9nnl1ah54kwks4-nanopolish-0.10.2-1.50e8b5c= .drv' >> may not be deterministic: output >> `/gnu/store/m7icaq7642zy0gvnqvymcnn8d088a9s0-nanopolish-0.10.2-1.50e8b5c' >> differs >> >> $ diffoscope "$(guix build nanopolish)" /gnu/store/m7icaq7642zy0gvnqvymc= nn8d088a9s0-nanopolish-0.10.2-1.50e8b5c >> >> =E2=94=82 =E2=94=82 =E2=94=82 - 0x000000000000001d (RUNPATH) Library run= path: >> [/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib:/gnu/store/4= sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib:/gnu/store/nq4lsyipmfb0q7= g26ra45rwwqrh3x8zw-zlib-1.2.11/lib:/gnu/store/36i633snnhx4mgbnmm5rbkgk3qdi3= 2ka-hdf5-1.8.21/lib:/gnu/store/x4xpcpsqmini25gkrc0h945ml9r609v5-htslib-1.9/= lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_6= 4-unknown-linux-gnu/5.5.0/../../..] >> =E2=94=82 =E2=94=82 =E2=94=82 + 0x000000000000001d (RUNPATH) Library run= path: >> [/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib:/gnu/store/4= sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib:/gnu/store/nq4lsyipmfb0q7= g26ra45rwwqrh3x8zw-zlib-1.2.11/lib:/gnu/store/36i633snnhx4mgbnmm5rbkgk3qdi3= 2ka-hdf5-1.8.21/lib:/gnu/store/d25i834bs8wvg8mh36bplxg61r6b7vz9-htslib-1.9/= lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_6= 4-unknown-linux-gnu/5.5.0/../../..] >> >> The problem seems to lie in htslib. > > Aren=E2=80=99t you comparing two different builds, like one grafted the o= ther > ungrafted? > > What I do is: > > guix build foo --check -K > > and then: > > diffoscope /gnu/store/=E2=80=A6-the-thing{,-check} > > That way you=E2=80=99re 100% sure you=E2=80=99re comparing two different = builds of the > very same derivation. Thanks for pointing this to me. As mentioned in another threda, to really have a -check output, I had to use both --keep-failed and --no-grafts (combined with --check). The produced diffoscope is very large (3 MiB when xzipped), so I won't post it here, but the non-reproducibility should be visible on any Guix system, I believe. It seems the binaries produced have symbols appearing at different offset. Here's an excerpt: >--- /gnu/store/95vcyvlcrlw82g9zpyh421mz3mnag0qx-nanopolish-0.10.2-1.50e8b5c +++ /gnu/store/95vcyvlcrlw82g9zpyh421mz3mnag0qx-nanopolish-0.10.2-1.50e8b5c= -check =E2=94=9C=E2=94=80=E2=94=80 bin =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 nanopolish =E2=94=82 =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/02iklp4swqs0ipxh= g5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --file-header {} =E2=94=82 =E2=94=82 =E2=94=82 @@ -6,15 +6,15 @@ =E2=94=82 =E2=94=82 =E2=94=82 OS/ABI: UNIX - = GNU =E2=94=82 =E2=94=82 =E2=94=82 ABI Version: 0 =E2=94=82 =E2=94=82 =E2=94=82 Type: EXEC (E= xecutable file) =E2=94=82 =E2=94=82 =E2=94=82 Machine: Advance= d Micro Devices X86-64 =E2=94=82 =E2=94=82 =E2=94=82 Version: 0x1 =E2=94=82 =E2=94=82 =E2=94=82 Entry point address: 0x40b580 =E2=94=82 =E2=94=82 =E2=94=82 Start of program headers: 64 (byt= es into file) =E2=94=82 =E2=94=82 =E2=94=82 - Start of section headers: 4204728= (bytes into file) =E2=94=82 =E2=94=82 =E2=94=82 + Start of section headers: 4204696= (bytes into file) =E2=94=82 =E2=94=82 =E2=94=82 Flags: 0x0 =E2=94=82 =E2=94=82 =E2=94=82 Size of this header: 64 (byt= es) =E2=94=82 =E2=94=82 =E2=94=82 Size of program headers: 56 (byt= es) =E2=94=82 =E2=94=82 =E2=94=82 Number of program headers: 12 =E2=94=82 =E2=94=82 =E2=94=82 Size of section headers: 64 (byt= es) =E2=94=82 =E2=94=82 =E2=94=82 Number of section headers: 34 =E2=94=82 =E2=94=82 =E2=94=82 Section header string table index: 33 [...] =E2=94=82 =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/02iklp4swqs0ipxh= g5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --sections {} =E2=94=82 =E2=94=82 =E2=94=82 @@ -1,8 +1,8 @@ =E2=94=82 =E2=94=82 =E2=94=82 -There are 34 section headers, starting at of= fset 0x4028b8: =E2=94=82 =E2=94=82 =E2=94=82 +There are 34 section headers, starting at of= fset 0x402898: =E2=94=82 =E2=94=82 =E2=94=82=20=20 =E2=94=82 =E2=94=82 =E2=94=82 Section Headers: =E2=94=82 =E2=94=82 =E2=94=82 [Nr] Name Type Add= ress Off Size ES Flg Lk Inf Al =E2=94=82 =E2=94=82 =E2=94=82 [ 0] NULL 000= 0000000000000 000000 000000 00 0 0 0 =E2=94=82 =E2=94=82 =E2=94=82 [ 1] .interp PROGBITS 000= 00000004002e0 0002e0 000050 00 A 0 0 1 =E2=94=82 =E2=94=82 =E2=94=82 [ 2] .note.ABI-tag NOTE 000= 0000000400330 000330 000020 00 A 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 [ 3] .hash HASH 000= 0000000400350 000350 00091c 04 A 5 0 8 =E2=94=82 =E2=94=82 =E2=94=82 @@ -14,30 +14,30 @@ =E2=94=82 =E2=94=82 =E2=94=82 [ 9] .rela.dyn RELA 000= 00000004053e0 0053e0 001248 18 A 5 0 8 =E2=94=82 =E2=94=82 =E2=94=82 [10] .rela.plt RELA 000= 0000000406628 006628 001380 18 AI 5 27 8 =E2=94=82 =E2=94=82 =E2=94=82 [11] .init PROGBITS 000= 0000000408000 008000 000017 00 AX 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 [12] .plt PROGBITS 000= 0000000408020 008020 000d10 10 AX 0 0 16 =E2=94=82 =E2=94=82 =E2=94=82 [13] .plt.got PROGBITS 000= 0000000408d30 008d30 000128 08 AX 0 0 8 =E2=94=82 =E2=94=82 =E2=94=82 [14] .text PROGBITS 000= 0000000408e60 008e60 0f7222 00 AX 0 0 16 =E2=94=82 =E2=94=82 =E2=94=82 [15] .fini PROGBITS 000= 0000000500084 100084 000009 00 AX 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 - [16] .rodata PROGBITS 000= 0000000501000 101000 2a92d0 00 A 0 0 32 =E2=94=82 =E2=94=82 =E2=94=82 - [17] .eh_frame_hdr PROGBITS 000= 00000007aa2d0 3aa2d0 002094 00 A 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 - [18] .eh_frame PROGBITS 000= 00000007ac368 3ac368 00eb70 00 A 0 0 8 =E2=94=82 =E2=94=82 =E2=94=82 - [19] .gcc_except_table PROGBITS 000= 00000007baed8 3baed8 00a8d0 00 A 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 + [16] .rodata PROGBITS 000= 0000000501000 101000 2a9330 00 A 0 0 32 =E2=94=82 =E2=94=82 =E2=94=82 + [17] .eh_frame_hdr PROGBITS 000= 00000007aa330 3aa330 002094 00 A 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 + [18] .eh_frame PROGBITS 000= 00000007ac3c8 3ac3c8 00eb78 00 A 0 0 8 =E2=94=82 =E2=94=82 =E2=94=82 + [19] .gcc_except_table PROGBITS 000= 00000007baf40 3baf40 00a8c0 00 A 0 0 4 =E2=94=82 =E2=94=82 =E2=94=82 [20] .tbss NOBITS 000= 00000007c6c40 3c5c40 00002c 00 WAT 0 0 8 =E2=94=82 =E2=94=82 =E2=94=82 [21] .init_array INIT_ARRAY 000= 00000007c6c40 3c5c40 000110 08 WA 0 0 8 =E2=94=82 =E2=94=82 =E2=94=82 [22] .fini_array FINI_ARRAY 000= 00000007c6d50 3c5d50 000008 08 WA 0 0 8 HTH! Maxim