Subject: ImageMagick is not bit-reproducible

From: Ludovic Courtès <[email-masked]>
Date: Wed, 25 Mar 2020 16:01:43 +0100

ImageMagick embeds timestamps:

--8<---------------cut here---------------start------------->8---
$ guix challenge imagemagick --diff=diffoscope --substitute-urls="https://ci.guix.gnu.org https://bayfront.guix.gnu.org"
/gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95 contents differ:
  no local build for '/gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95'
  https://ci.guix.gnu.org/nar/lzip/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95: 14v50lihkfqvr4c17rkzi8zdy0pa14ywl3043m0jh0m983yzi1w7
  https://bayfront.guix.gnu.org/nar/lzip/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95: 1zn77sj8qgfjzld6dzvjixgnhg0xv3vj37ak6idbqx616i9vsbqg
--- /tmp/guix-directory.KYHfmm
+++ /tmp/guix-directory.dWEJ0C
├── include
│ ├── ImageMagick-6
│ │ ├── magick
│ │ │ ├── version.h
│ │ │ │ @@ -43,15 +43,15 @@
│ │ │ │  #define MagickPlatform  "x86_64"
│ │ │ │  #endif
│ │ │ │  #define MagickppLibVersionText  "6.9.10"
│ │ │ │  #define MagickppLibVersionNumber  8:0:0
│ │ │ │  #define MagickppLibAddendum  "-95"
│ │ │ │  #define MagickppLibInterface  8
│ │ │ │  #define MagickppLibMinInterface  8
│ │ │ │ -#define MagickReleaseDate  "2020-02-24"
│ │ │ │ +#define MagickReleaseDate  "2020-03-09"
│ │ │ │  #define MagickHomeURL  "file:///gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95/share/doc/ImageMagick-6/index.html"
│ │ │ │  #define MagickAuthoritativeLicense  \
│ │ │ │    "https://imagemagick.org/script/license.php"
│ │ │ │  #define MagickAuthoritativeURL  "https://imagemagick.org"
│ │ │ │  #if (MAGICKCORE_QUANTUM_DEPTH == 8)
│ │ │ │  #define MagickQuantumDepth  "Q8"
│ │ │ │  #define MagickQuantumRange  "255"
├── lib
│ ├── ImageMagick-6.9.10
│ │ ├── config-Q16
│ │ │ ├── configure.xml
│ │ │ │ │   --- /tmp/guix-directory.KYHfmm/lib/ImageMagick-6.9.10/config-Q16/configure.xml
│ │ │ │ ├── +++ /tmp/guix-directory.dWEJ0C/lib/ImageMagick-6.9.10/config-Q16/configure.xml
│ │ │ │ │ @@ -35,15 +35,15 @@
│ │ │ │ │    <configure name="LIBS" value="  -L/gnu/store/60n4v89qxyszmml2s1z0b5i80sxfwpmk-lcms-2.9/lib -llcms2 -ltiff -L/gnu/store/n367si248svwbhhmfwsmv74zl98sa0qk-freetype-2.10.1/lib -lfreetype>
│ │ │ │ │    <configure name="LIB_VERSION_NUMBER" value="6,9,10,95" xmlns=""/>
│ │ │ │ │    <configure name="LIB_VERSION" value="0x69A" xmlns=""/>
│ │ │ │ │    <configure name="NAME" value="ImageMagick" xmlns=""/>
│ │ │ │ │    <configure name="PCFLAGS" value="-fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16" xmlns=""/>
│ │ │ │ │    <configure name="PREFIX" value="/gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95" xmlns=""/>
│ │ │ │ │    <configure name="QuantumDepth" value="16" xmlns=""/>
│ │ │ │ │ -  <configure name="RELEASE_DATE" value="2020-02-24" xmlns=""/>
│ │ │ │ │ +  <configure name="RELEASE_DATE" value="2020-03-09" xmlns=""/>
│ │ │ │ │    <configure name="SHAREARCH_PATH" value="/gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95/lib/ImageMagick-6.9.10/config-Q16" xmlns=""/>
│ │ │ │ │    <configure name="SHARE_PATH" value="/gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95/share/ImageMagick-6" xmlns=""/>
│ │ │ │ │    <configure name="TARGET_CPU" value="x86_64" xmlns=""/>
│ │ │ │ │    <configure name="TARGET_OS" value="linux-gnu" xmlns=""/>
│ │ │ │ │    <configure name="TARGET_VENDOR" value="unknown" xmlns=""/>
│ │ │ │ │    <configure name="VERSION" value="6.9.10" xmlns=""/>
│ │ │ │ │    <configure name="WEBSITE" value="https://imagemagick.org" xmlns=""/>
│ ├── libMagickCore-6.Q16.a
│ │ ├── libMagickCore_6_Q16_la-version.o
│ │ │ ├── /gnu/store/mx2bgrpxkbdjsmhlxp9a30hbzcilk4cn-binutils-2.32/bin/readelf --wide --decompress --string-dump=.rodata.str1.8 {} […]
│ │ │ │ @@ -1,8 +1,8 @@
│ │ │ │
│ │ │ │  String dump of section '.rodata.str1.8':
│ │ │ │    [     2]   1999-2020 ImageMagick Studio LLC
│ │ │ │    [    28]  bzlib fftw fontconfig freetype gvc jng jpeg lcms lzma pangocairo png tiff x xml zlib
│ │ │ │    [    80]  file:///gnu/store/gnxg2kvc9fhvd71xmq2nqdvyx3ha3s5j-imagemagick-6.9.10-95/share/doc/ImageMagick-6/index.html
│ │ │ │    [    f0]  https://imagemagick.org/script/license.php
│ │ │ │ -  [   120]  ImageMagick 6.9.10-95 Q16 x86_64 2020-02-24 https://imagemagick.org
│ │ │ │ +  [   120]  ImageMagick 6.9.10-95 Q16 x86_64 2020-03-09 https://imagemagick.org
│ │ │ ├── /gnu/store/mx2bgrpxkbdjsmhlxp9a30hbzcilk4cn-binutils-2.32/bin/readelf --wide --decompress --string-dump=.rodata.str1.1 {} […]
│ │ │ │ @@ -3,15 +3,15 @@
│ │ │ │    [     0]  Cipher DPC OpenMP(4.5)
│ │ │ │    [    18]  index.html
│ │ │ │    [    23]  /  
│ │ │ │    [    25]  %s%s%s
│ │ │ │    [    2c]  ImageMagick
│ │ │ │    [    38]  Q16
│ │ │ │    [    3c]  65535
│ │ │ │ -  [    42]  2020-02-24
│ │ │ │ +  [    42]  2020-03-09
│ │ │ │    [    4d]  Version: %s^J
│ │ │ │    [    5a]  Copyright: %s^J
│ │ │ │    [    69]  License: %s^J
│ │ │ │    [    76]  Features: %s^J
│ │ │ │    [    84]  Delegates (built-in): %s^J
│ │ │ │    [    9e]  Wizard attributes:
│ │ │ │    [    b2]  QuantumRange=%g;
│ ├── libMagickCore-6.Q16.so.6.0.0
│ │ ├── /gnu/store/mx2bgrpxkbdjsmhlxp9a30hbzcilk4cn-binutils-2.32/bin/readelf --wide --decompress --hex-dump=.rodata {}
│ │ │ @@ -15026,21 +15026,21 @@
│ │ │    0x00353af0 2f736861 72652f64 6f632f49 6d616765 /share/doc/Image
│ │ │    0x00353b00 4d616769 636b2d36 2f696e64 65782e68 Magick-6/index.h
│ │ │    0x00353b10 746d6c00 00000000 68747470 733a2f2f tml.....https://
│ │ │    0x00353b20 696d6167 656d6167 69636b2e 6f72672f imagemagick.org/
│ │ │    0x00353b30 73637269 70742f6c 6963656e 73652e70 script/license.p
│ │ │    0x00353b40 68700000 00000000 496d6167 654d6167 hp......ImageMag
│ │ │    0x00353b50 69636b20 362e392e 31302d39 35205131 ick 6.9.10-95 Q1
│ │ │ -  0x00353b60 36207838 365f3634 20323032 302d3032 6 x86_64 2020-02
│ │ │ -  0x00353b70 2d323420 68747470 733a2f2f 696d6167 -24 https://imag
│ │ │ +  0x00353b60 36207838 365f3634 20323032 302d3033 6 x86_64 2020-03
│ │ │ +  0x00353b70 2d303920 68747470 733a2f2f 696d6167 -09 https://imag
│ │ │    0x00353b80 656d6167 69636b2e 6f726700 43697068 emagick.org.Ciph
│ │ │    0x00353b90 65722044 5043204f 70656e4d 5028342e er DPC OpenMP(4.
│ │ │    0x00353ba0 35292000 696e6465 782e6874 6d6c0051 5) .index.html.Q
│ │ │ -  0x00353bb0 31360036 35353335 00323032 302d3032 16.65535.2020-02
│ │ │ -  0x00353bc0 2d323400 436f7079 72696768 743a2025 -24.Copyright: %
│ │ │ +  0x00353bb0 31360036 35353335 00323032 302d3033 16.65535.2020-03
│ │ │ +  0x00353bc0 2d303900 436f7079 72696768 743a2025 -09.Copyright: %
│ │ │    0x00353bd0 730a004c 6963656e 73653a20 25730a00 s..License: %s..
│ │ │    0x00353be0 46656174 75726573 3a202573 0a004465 Features: %s..De
│ │ │    0x00353bf0 6c656761 74657320 28627569 6c742d69 legates (built-i
│ │ │    0x00353c00 6e293a20 25730a00 57697a61 72642061 n): %s..Wizard a
│ │ │    0x00353c10 74747269 62757465 733a2000 5175616e ttributes: .Quan
│ │ │    0x00353c20 74756d52 616e6765 3d25673b 20005175 tumRange=%g; .Qu
│ │ │    0x00353c30 616e7475 6d536361 6c653d25 2e2a673b antumScale=%.*g;

1 store items were analyzed:
  - 0 (0.0%) were identical
  - 1 (100.0%) differed
  - 0 (0.0%) were inconclusive
$ guix describe
Generacio 133   Mar 19 2020 17:21:41    (nuna)
  guix 5e78a87
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 5e78a87bb99ca8f0c56ece90b871791abcd79b68
--8<---------------cut here---------------end--------------->8---

Ludo’.