What is /usr/lib/i386-linux-gnu/ for?

I'm using an application that, when searching for installed dependencies, looks up some .so files in /usr/lib and /usr/local/lib/.

Now I migrated on Natty and some files seem to be moved from /usr/lib to /usr/lib/i386-linux-gnu/.

Should I report a bug to that application developers that they should change their lookup logic? Is there a document that explains the change so I can refer it to them?


Solution 1:

This change was made to enable installing versions of the same library compiled for different architectures (e.g. on an AMD64 system, one version might go in /usr/lib/x86_64-linux-gnu while the other goes in i386-linux-gnu).

Both the standard linker and dynamic linker know about these directories, so the change should be invisible for most applications. If the application is searching for actual library files manually, then it will need modification.

Details of the changes to Ubuntu can be found here:

https://wiki.ubuntu.com/MultiarchSpec