Skip to content

unity build introduces non-determinism

While working on reproducible builds for openSUSE, I found that our musescore-4.5.1 package varies between builds, unless I disable Address-Space-Layout-Randomization(ASLR) or build without UNITY_BUILD via -DMUSE_COMPILE_USE_UNITY:BOOL=OFF and a compile fix.

Apart from variations in MuseScore-4.5.1/build.release/src/framework/languages/CMakeFiles/muse_languages.dir/Unity/unity_0_cxx.cxx.o and a few others I also saw variations in the generated CMakeFiles/Makefile2 ordering that might be related.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information