64-bit binaries in /usr/lib

Elan Ruusamäe glen at pld-linux.org
Sun Oct 9 13:03:07 CEST 2016


On 09.10.2016 00:59, Adam Osuchowski wrote:
> Simple question: why have some packages their arch-dependent executables
> placed in /usr/lib directory on x86-64 architecture? What principle
> determines that these binaries are forced to be in /usr/lib instead of
> /usr/lib64?

every package probably has reason, given examples it would be easier to 
explain. it may be deliberately packaged like this in pld, or just 
because upstream uses such packaging (and it's not "fixed" in pld)

but the (--libdir) /usr/lib vs /usr/lib64 (and /usr/libx32) are for 
libraries (libfoo.so.1), so you could parallel install libfoo.so.1(ix84) 
and libfoo.so.1(x86-64).

there's also --libexecdir which is %{_libdir} in pld, but 
%{_prefix}/libexec in other distros, and that path is used to provide 
private binaries for application (not intended to be used from $PATH), 
that is the most common case how binaries end up in /usr/lib* trees.

i personally also think --libexecdir should be %{_prefix}/libexec. it 
would make configurations simpler, don't need to patch for %{_libdir} 
everywhere.


-- 
glen



More information about the pld-devel-en mailing list