Deterministic builds / ar warns about u modifier
Building Tor from source brings up this warning several times:
"ar:
u' modifier ignored since
D' is the default (see `U')" a lot.
The fix is to change the according line in Makefile.in to ARFLAGS=crD
.
(easy to find with grep -n "ARFLAGS =" Makefile.in
)
Since Makefile.in is created by the ./configure
script, the default flags need to be changed:
"ARFLAGS will default to cru; you can override this variable by setting it in your Makefile.am or by AC_SUBSTing it from your configure.ac."
Before distributing Tor with it, we need to check if any platform build breaks. For example versions before binutils v2.24-20 / GNU Make 4 (2013-10-09). I did not check for OSX and BSD yet.
The options -D / -U were introduced in January 2013. For debian see Bug 798913 (and the Debian changelog):
binutils upstream provides a configure option '--enable-deterministic-archives', which makes this behaviour the default, though it can still be disabled at runtime via the 'u' switch, in case someone wants to use ar to pack non-library files in an archive and cares about the metadata.
References