I hit this on profile = hardened/linux/uclibc/amd64, but it would affect all "exotic" multilib systems like mips with o32-n32-n64 abis. Emerging nettle installs libhogweed.so* and libnettle.so* into /usr/lib64 rather than /usr/$LIBDIR. This is because its build system does the following (reading from configure.ac): # Linux conventions are a mess... According to the Linux File # Hierarchy Standard, all architectures except IA64 puts 32-bit # libraries in lib, and 64-bit in lib64. Some distributions, # e.g., Fedora and Gentoo, adhere to this standard, while at # least Debian has decided to put 64-bit libraries in lib and # 32-bit libraries in lib32. # We try to figure out the convention, except if we're cross # compiling. We use lib${ABI} if /usr/lib${ABI} exists and # appears to not be a symlink to a different name. *:linux*:32|*:linux*:64) if test "$cross_compiling" = yes ; then AC_MSG_WARN([Cross compiling for linux. Can't guess if libraries go in lib${ABI} or lib.]); dnl ' else # The dash builtin pwd tries to be "helpful" and remember # symlink names. Use -P option, and hope it's portable enough. test -d /usr/lib${ABI} \ && (cd /usr/lib${ABI} && pwd -P | grep >/dev/null "/lib${ABI}"'$') \ && libdir='${exec_prefix}/'"lib${ABI}" fi ;; A quick fix is to edit the ebuild and add --libdir=/usr/$(get_libdir) to econf (inheriting multilib of course). A better fix would be to rethink the above logic and push upstream. This is related to bug #466732 and another instance of bug #39190. Reproducible: Always
Oops. I didn't cut and paste right ... another instance of bug #239190.
Fixed in nettle-2.7, thanks!