Uploaded image for project: 'Erlang/OTP'
  1. Erlang/OTP
  2. ERL-1446

Repeated Erlang/OTP compilations from different source directories don't produce identical build results

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 23.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Steps to reproduce

      $ cd otp_src1
      $ git checkout OTP-23.1.5
      $ export ERL_COMPILER_OPTIONS=deterministic
      $ git clean -xfdq
      $ ./otp_build autoconf
      $ ./otp_build configure
      $ make -j4
      $ make RELEASE_ROOT=/path/to/build/directory1 release
       
      $ cd otp_src2
      $ git checkout OTP-23.1.5
      $ export ERL_COMPILER_OPTIONS=deterministic
      $ git clean -xfdq
      $ ./otp_build autoconf
      $ ./otp_build configure
      $ make -j4
      $ make RELEASE_ROOT=/path/to/build/directory2 release

      Comparing the 2 build directory outputs show differences in more than 600 files, in 29 .erl files, in more than 500 .beam files and in many of the libraries and executables.

      Cf. the attached output showing all the non-identical files.

       
      Expected result
       
      Builds should produce deterministic results.
      Cf. https://reproducible-builds.org/ for why it matters.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              otp_team_vm Team VM
              Reporter:
              JeromeDeBretagne Jérôme de Bretagne
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: