On Mon, Oct 26, 2015 at 08:42:42PM +0100, Rafael Laboissiere wrote: > Thanks, this is exactly the information that I needed. I think I found a > fix for this issue by making a change in the octave-pkg-dev package [1]. [...] > 1. http://lists.alioth.debian.org/pipermail/pkg-octave-devel/2015-October/011812.html I had a short look at the thread and your patch. I think you misunderstood something. The build log(s) themselves have no influence on the build id and/or the differences of the binaries. The logs often help finding the actual differences, but (normally) they don't directly influence the build artefacts. So just replacing the temporary/random path in the log won't work, because in the "background" the compiler will still compile the source files in the temporary location. And building in a temporary directory is the actual reason for the differences. Here is a quick proof that the path is responsible for the differences: $ cp test.c tmp-1/ && cd tmp-1 && mkoctfile test.c && md5sum test.o && cd .. 8cd4b14fc2bab0efad22f17920d02455 test.o $ cp test.c tmp-1/ && cd tmp-1 && mkoctfile test.c && md5sum test.o && cd .. 8cd4b14fc2bab0efad22f17920d02455 test.o $ cp test.c tmp-2/ && cd tmp-2 && mkoctfile test.c && md5sum test.o && cd .. 05d17c676f643adef2c15c3899f6a4a3 test.o -> compiling the same file in the same directory leads to the same result, while compiling in a different path produces a different object file. I had a short look at it some time ago, and think that it has to be fixed in this file [0]. There it is creating the temporary (random) directories and copying the source into it. [0]: https://sources.debian.net/src/octave/4.0.0-5/scripts/pkg/private/install.m/?hl=67,70,96#L67
Attachment:
signature.asc
Description: Digital signature