Dear Jérémy, Am Samstag, den 08.02.2014, 11:22 +0100 schrieb Jérémy Bobbio: > Reproducible builds for Debian are very much a work-in-progress [1]. > With David Suárez, we've recently the build+rebuild of a large number of > package to see how varying time and build path would affect their > reproducibility. thanks on your work here. Investigating difference in build output is very useful. > Good news is that in the set of 6887 source packages, there were many > Haskell packages which produced matching binary packages [2]: > haskell-aeson-pretty, haskell-appar, haskell-asn1-parse, > haskell-asn1-types, haskell-base64-conduit, haskell-blaze-svg, > haskell-bmp, haskell-boundedchan, haskell-byteable, haskell-chell-hunit, > haskell-classy-prelude, haskell-connection, haskell-control-monad-loop, > haskell-crypto-pubkey, haskell-data-pprint, haskell-devscripts, > haskell-dual-tree, haskell-errors, haskell-gitlib, haskell-groups, > haskell-happstack-heist, haskell-hedis, haskell-heist, haskell-hslua, > haskell-hsx-jmacro, haskell-http-attoparsec, haskell-idna, > haskell-intern, haskell-intervals, haskell-iproute, haskell-ircbot, > haskell-jmacro, haskell-mmorph, haskell-monadprompt, > haskell-monoid-extras, haskell-mueval, haskell-objectname, haskell-ofx, > haskell-osm, haskell-pipes-parse, haskell-pipes-safe, > haskell-pipes-zlib, haskell-punycode, haskell-quickcheck-io, > haskell-readargs, haskell-reform-blaze, haskell-reform-hamlet, > haskell-reform-happstack, haskell-reform-hsp, haskell-reform, > haskell-sandi, haskell-simple-reflect, haskell-stringbuilder, > haskell-stringprep, haskell-tabular, haskell-tasty-hspec, > haskell-tasty-hunit, haskell-tasty-quickcheck, haskell-tasty-rerun, > haskell-tensor, haskell-time-compat, haskell-web-plugins, > haskell-x509-store, haskell-x509, haskell-xmlhtml, haskell-yesod-bin, > haskell-yesod-default, haskell-yesod-markdown. That’s not many comparted to the 600 we have... > 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. 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