libtool and reproducible builds
Bill Allombert
ballombe at debian.org
Tue Jan 8 11:49:11 GMT 2019
Hello,
I found a reproducibility issue with packages that ships a libtool
script which differ whether multiarch is enabled or not.
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 "
This come from /usr/share/aclocal/libtool.m4 which read /etc/ld.so.conf
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside
# from not
# being certain /sbin/ldconfig is available, command
# 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report
# /usr/lib64,
# even though it is searched at run-time. Try to do the best guess by
# appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s
2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0;
}' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[
]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' |
tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
This leads to a diff between two builds when one has multiarch and not
the other:
-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 /lib32 /usr/lib32
"
+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 do not know how to fix that.
However reproducible-builds.org could try to detect this (by enabling
multiarch in one build).
Cheers,
--
Bill. <ballombe at debian.org>
Imagine a large red swirl here.
More information about the Reproducible-builds
mailing list