libtool and reproducible builds
Bill Allombert
ballombe at debian.org
Fri Jan 11 18:39:16 GMT 2019
On Fri, Jan 11, 2019 at 05:26:44PM +0100, Helmut Grohne wrote:
> Hi Bill,
>
> On Tue, Jan 08, 2019 at 12:49:11PM +0100, Bill Allombert wrote:
> > I found a reproducibility issue with packages that ships a libtool
> > script which differ whether multiarch is enabled or not.
>
> That's interesting indeed. I was aware that libtool was unreproducible
> in cross builds vs. native builds. Naturally, cross builds do enable
> multiarch, but thus far I couldn't attribute it to enabling multiarch.
> Thank you.
>
> > The script includes a line like
> >
> > # Detected run-time system search path for libraries.
> > sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "
>
> I think that's actually fine, due to the way libtool is used. You
> generate one for each build. It's only a temporary thing that is deleted
> at the end of the build.
>
> The more interesting question here is: How does that leak into your
> .deb?
Very simply: some packages ships the libtool script and reuse it
to build modules.
gap-core: /usr/lib/x86_64-linux-gnu/gap/libtool
librep-dev: /usr/lib/x86_64-linux-gnu/rep/libtool
it can be argued this is a design bug (in the packages) because this
assume the set of libraries will not change.
Cheers,
Bill.
More information about the Reproducible-builds
mailing list