Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003256Doomseeker[All Projects] Bugpublic2017-09-07 21:552017-10-07 11:56
ReporterWubTheCaptain 
Assigned To 
PrioritynormalSeverityminorReproducibilitysometimes
StatusnewResolutionopen 
Platformx86_64OSDebian GNU/LinuxOS Versionbuster/sid
Product Version1.1 
Target VersionFixed in Version 
Summary0003256: Failure to reproduce builds with variations in build path
DescriptionThe build system is not entirely deterministic, or the build environment of officially released binaries is not recorded or pre-defined.

Variations in build path create different binary results.
Steps To ReproduceTo keep this simple, I have to abstract this a little bit. On the high level, consider two paths: "1st" and "2nd".


  1. Path "1st" is build normally.

  2. Path "2nd" is built from a clean environment and renamed to "2nd.orig" for future reference.

  3. Path "2nd" is re-created and built from a clean environment.



To make sure my build environment was clean, I always extracted from the source distribution to a path and did not exercise running make clean.

"1st" and "2nd" binaries differ. "2nd.orig" and "2nd" binaries are identical.

dpkg.log has the full list of packages in the environment.
Additional InformationCMake's -C option for initial cache was not used. I ignored the differences in CMake's output and error logs as out of scope.

Doomseeker and libwadseeker have no special documentation about reproducible builds.
Attached Fileslog file icon dpkg.log [^] (152,943 bytes) 2017-09-07 21:55
log file icon doomseeker-diff.log [^] (21,211 bytes) 2017-09-07 21:55
log file icon libwadseeker-diff.log [^] (3,326 bytes) 2017-09-07 21:56
diff file icon CMakeCache.diff [^] (658 bytes) 2017-09-07 22:06 [Show Content]
diff file icon doomseeker-2nd-2nd_orig.diff [^] (258 bytes) 2017-09-07 22:21 [Show Content]
diff file icon libwadseeker-2nd-2nd_orig.diff [^] (266 bytes) 2017-09-07 22:21 [Show Content]
gz file icon diffoscope-v86.log.gz [^] (333,690 bytes) 2017-09-08 00:41
gz file icon diffoscope-deb.log.gz [^] (13,319 bytes) 2017-09-08 01:32

- Relationships
related to 0003239resolvedZalewa engines/libzandronum.so: Defines RPATH from somewhere 
child of 0003255confirmed Support reproducible, deterministic builds 

-  Notes
User avatar (0018239)
WubTheCaptain (developer)
2017-09-07 21:57

For clarification: I followed only the instructions provided in COMPILE.txt:

mkdir build
cd build
cmake ..
make
User avatar (0018243)
WubTheCaptain (developer)
2017-09-08 00:45
edited on: 2017-09-08 00:46

The underlying cause seems to be RPATH or RUNPATH: 0003239

User avatar (0018245)
WubTheCaptain (developer)
2017-09-08 01:33

Uploaded a diffoscope v86 from .deb builds, it's a bit cleaner.
User avatar (0018446)
WubTheCaptain (developer)
2017-10-05 01:52

Needs to be tested with 0003239.
User avatar (0018468)
WubTheCaptain (developer)
2017-10-07 11:56

Per comments in 0003239, – though I did not explicitly test this – I believe this is still unresolved because the resulting Doomseeker executable gets a RUNPATH pre-install.

One step closer now, however.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-09-07 21:55 WubTheCaptain New Issue
2017-09-07 21:55 WubTheCaptain File Added: dpkg.log
2017-09-07 21:55 WubTheCaptain File Added: doomseeker-diff.log
2017-09-07 21:56 WubTheCaptain File Added: libwadseeker-diff.log
2017-09-07 21:57 WubTheCaptain Note Added: 0018239
2017-09-07 22:06 WubTheCaptain File Added: CMakeCache.diff
2017-09-07 22:21 WubTheCaptain File Added: doomseeker-2nd-2nd_orig.diff
2017-09-07 22:21 WubTheCaptain File Added: libwadseeker-2nd-2nd_orig.diff
2017-09-08 00:41 WubTheCaptain File Added: diffoscope-v86.log.gz
2017-09-08 00:45 WubTheCaptain Note Added: 0018243
2017-09-08 00:46 WubTheCaptain Note Edited: 0018243 View Revisions
2017-09-08 01:32 WubTheCaptain File Added: diffoscope-deb.log.gz
2017-09-08 01:33 WubTheCaptain Note Added: 0018245
2017-09-08 01:53 Blzut3 Relationship added child of 0003255
2017-09-09 01:56 Blzut3 Relationship added related to 0003239
2017-10-05 01:52 WubTheCaptain Note Added: 0018446
2017-10-05 01:52 WubTheCaptain Status new => needs testing
2017-10-07 11:56 WubTheCaptain Note Added: 0018468
2017-10-07 11:56 WubTheCaptain Status needs testing => new






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker