Details
-
Technical task
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
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