Why does linux multiarch use x86_64-linux-gnu instead of lib64?
-
30-06-2021 - |
题
I recently came across multiarch in linux when deploying 32 & 64bit libraries.
Out of curiosity, why was /lib64 abandoned in favour of e.g. /lib/x86_64-linux-gnu It seems overly complex but there must be a reason for that.
解决方案
The long version can be found at http://wiki.debian.org/Multiarch , in particular http://wiki.debian.org/Multiarch/TheCaseForMultiarch .
The short version is that using triplets is a more general solution that allows things like multiple ABI's (such as x86 and x32, as Basile mentioned in a comment), emulators, cross-compilers and such without having to resort to various tricks.
Whether non-Debian based distros such as Fedora or OpenSUSE will adopt this remains to be seen; so far they don't seem that interested.