Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-105926 Qt should support reproducible builds
  3. QTBUG-96905

Qt6: build is not reproducible for Qt6Quick Qt6Multimedia Qt6Quick3DRuntimeRender

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • Build System: CMake
    • None

    Description

      I was trying to see if build of Qt for Android is reproducible.

      For this I made the test with Qt 6.1.3, with Android ABI x86 (NDK r22b, sdk platform 30)

      Result is some binaries differ.
      The lib that has the biggest difference is lib/libQt6Quick3DRuntimeRender_x86.so
      The other ones have small differences

      Attached if diffoscope's html output

      Artifacts of diffoscope can be found here:
      https://salsa.debian.org/bastif/qt-android/-/jobs/2008759

      If I build a minimal standard Qt (ie not Qt for Android) build is reproducible (taken apart the other bugs I reported on that: QTBUG-96778 - QTBUG-96722 - https://bugreports.qt.io/browse/QTBUG-96778 https://bugreports.qt.io/browse/QTBUG-96722)

      1st build (ie control build) was made this way:

      ../../configure \
       -confirm-license \
       -opensource \
       -skip qtwayland \
       --pch=no \
       -android-sdk /builds/bastif/qt-android/android-sdk \
       -android-ndk /builds/bastif/qt-android/r22b/android-ndk-r22b \
       -qt-host-path /usr/lib/qt-android-host \
       -android-abis x86 -prefix "/usr/lib/qt-android-6.1-x86" -platform android-clang \
       --ccache=yes \
       -no-warnings-are-errors \
       -- -D CMAKE_BUILD_RPATH_USE_ORIGIN=ON

      Full build log is here: https://salsa.debian.org/bastif/qt-android/-/jobs/2006347

      2nd build to compare was made with reprotest tool.
      So in the same way, but with the variations reprotest applies

      Full pipeline with all intermediate builds & artifacts can be found here:
      https://salsa.debian.org/bastif/qt-android/-/pipelines/295916

      Some info on reproducible builds can be found here and how to make builds reproducible

      https://reproducible-builds.org/docs/

      Attachments

        1. diffoscope.html
          3.00 MB
          F S
        2. diffoscope 6.2.0 non-android.html
          1.51 MB
          F S
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtbuildsystem Qt Build System Team
            ban F S
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes