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

Re: Reproducible builds and GHC interface and profiling files

Joachim Breitner:
> > Good news is that in the set of 6887 source packages, there were many
> > Haskell packages which produced matching binary packages [2]:
> […]
> That’s not many comparted to the 600 we have...

177 packages with a name startig by haskell were tested. So yes,
progress can probably be made.

> > More puzzling are varations in GHC interface (.hi) and profiling (.p_hi)
> > files. See for example the `diffp` output of haskell-cipher-des which
> > shows both issues:
> > http://reproducible.alioth.debian.org/logs-20140126/haskell-cipher-des_0.0.6-1_unstable_build.diffp.gz
> > or haskell-setenv which only exhibits the problem with profiling files:
> > http://reproducible.alioth.debian.org/logs-20140126/haskell-setenv_0.1.0-2_unstable_build.diffp.gz
> > 
> > Would you have any idea of what could make these files differ from one
> > build to another?
> The interface files contain for example the code for functions to be
> inlined, and that code can contain unique variable names generated by
> the compiler; there might be some randomness involved. The profiling
> data files contain even more data, so a higher risk of such data.
> 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?

It's been a while since I have not looked inside GHC source. I can have
a look but you might have better insights.

Lunar                                .''`. 
lunar@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 

Attachment: signature.asc
Description: Digital signature

Reply to: