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