[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reproducible builds and GHC interface and profiling files



Hi Jérémy,

Am Freitag, den 14.02.2014, 13:39 +0100 schrieb Jérémy Bobbio:
> > Do you have the files somewhere? It would be most useful to compare the
> > outputs of
> > $ ghc --show-iface .....hi
> > and see where exactly the difference comes from. If there is low hanging
> > fruit, I can probably fix the compiler in that direction.
> 
> ----- ./usr/lib/haskell-packages/ghc/lib/setenv-0.1.0/ghc-7.6.3/System/SetEnv.p_hi
> Binary file ./usr/lib/haskell-packages/ghc/lib/setenv-0.1.0/ghc-7.6.3/System/SetEnv.p_hi differ
> -  interface hash: 1db1fab02627c0f77aa952b9554052b7
> +  interface hash: 33614db8aba45095e66e4b1635e54661
> 
> These last two lines are the only difference when comparing the output
> of `ghc --show-iface` on these files. Is it possible for the interface
> hash computation to capture the path of the build or the current time?

I don’t think the current time affects it, otherwise we would never have
any reproducibility. Same for the path: I sometimes built a library
locally that was sitting in NEW (uploaded by someone else), built my
package against that, uploaded them, and when NEW got processed it fits.
Unlikely that anyone elses’ build path starts with /home/jojo.

It is even more surprising when only profiling data hashes change.

Also, I would somehow expect that if no other information in `ghc
--show-iface` changes, that then the hash should be the same. You did
rebuild against identical dependencies, did you? In what respect did the
environments differ?

Greetings,
Joachim


-- 
Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: