Linux – Where Did /usr/lib64 Go and What is /usr/lib/x86_64-linux-gnu?

64bitlibrarieslinuxUbuntu

I have two Ubuntu-x86_64 systems. One is version 10.04, the other 12.04 and there is a difference in the structure of the lib directories. This doesn't surprise me, but I'm curious if anyone knows why. Is there a good™ reason why?

10.04

2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux

/usr/lib
/usr/lib32
/usr/lib64

12.04

3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 GNU/Linux

/usr/lib
/usr/lib/x86_64-linux-gnu

Best Answer

Debian and Ubuntu are moving to a new multiarch implementation (spec). Among other things, this involves moving arch-specific libraries into /usr/lib/<triplet>, dropping the limitations of lib32 and lib64 (where will the new x32 ABI go? where do qemulated binaries live? etc.) as well as extending the package manager to handle mixed-architecture installations much more sanely.

Related Question