On Mon, Jan 26, 2015 at 07:08:42PM -0300, James Almer wrote: > On 26/01/15 7:04 PM, Michael Niedermayer wrote: > > On Mon, Jan 26, 2015 at 09:56:03PM +0100, Michael Niedermayer wrote: > >> On Wed, Jan 21, 2015 at 11:14:06PM +0100, Andreas Cadhalpun wrote: > >>> Hi, > >>> > >>> ar and ranlib add timestamp and uid/gid for the object files in > >>> static libraries. > >>> If used in deterministic mode, these are set to zero, making the > >>> binaries reproducible. > >>> Attached patch achieves that. > >>> > >>> Best regards, > >>> Andreas > >> > >>> configure | 4 ++-- > >>> 1 file changed, 2 insertions(+), 2 deletions(-) > >>> cc82891432d19e330d65ab717fd2722ab3304ecc > >>> configure-use-ar-and-ranlib-in-deterministic-mode.patch > >>> From 1dfc47cb27ae6f3d88b8b7ca690b980842003ee7 Mon Sep 17 00:00:00 2001 > >>> From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> > >>> Date: Wed, 21 Jan 2015 22:32:58 +0100 > >>> Subject: [PATCH] configure: use ar and ranlib in deterministic mode > >>> > >>> this makes the static libraries binary reproducible > >> > >> applied > > > > reverted, breaks on BSDs > > > > ar: illegal option -- D > > Usage: ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] > > [count] archive-file file... > > ar -M [<mri-script] > > commands: > > d - delete file(s) from the archive > > m[ab] - move file(s) in the archive > > p - print file(s) found in the archive > > q[f] - quick append file(s) to the archive > > r[ab][f][u] - replace existing or insert new file(s) into the archive > > t - display contents of archive > > x[o] - extract file(s) from the archive > > command specific modifiers: > > [a] - put file(s) after [member-name] > > [b] - put file(s) before [member-name] (same as [i]) > > [N] - use instance [count] of name > > [f] - truncate inserted file names > > [P] - use full path names when matching > > [o] - preserve original dates > > [u] - only replace files that are newer than current archive > > contents > > generic modifiers: > > [c] - do not warn if the library had to be created > > [s] - create an archive index (cf. ranlib) > > [S] - do not build a symbol table > > [v] - be verbose > > [V] - display the version number > > emulation options: > > No emulation specific options > > ar: supported targets: elf64-x86-64 elf32-i386 a.out-i386-netbsd coff-i386 > > efi-app-ia32 elf64-little elf64-big elf32-little elf32-big srec symbolsrec > > tekhex binary ihex netbsd-core > > gmake: *** [libavdevice/libavdevice.a] Error 1 > > Is it BSD, or just an old binutils version?
it seems it fails on some linux as well, so old binutils sounds plausible > Maybe a configure check for "ranlib -D" could be added. yes [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Awnsering whenever a program halts or runs forever is On a turing machine, in general impossible (turings halting problem). On any real computer, always possible as a real computer has a finite number of states N, and will either halt in less than N cycles or never halt.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel