Для чего нужен / usr / lib / i386-linux-gnu /?

30

Я использую приложение, которое при поиске установленных зависимостей ищет некоторые файлы .so в / usr / lib и / usr / local / lib /.

Теперь я перешел на Natty, и некоторые файлы, похоже, перемещены из / usr / lib в / usr / lib / i386-linux-gnu /.

Должен ли я сообщать об ошибке разработчикам приложений о том, что они должны изменить свою логику поиска? Есть ли документ, который объясняет изменения, чтобы я мог сослаться на них?

Александр Гладыш
источник
1
Для кого из вас, кто не знаком с Natty или забыл, Natty - Ubuntu 11.04. Это изменение все еще присутствует в последних версиях Ubuntu (на момент написания статьи, 18.04).
1818

Ответы:

33

Это изменение было сделано для того, чтобы разрешить установку версий одной и той же библиотеки, скомпилированной для разных архитектур (например, в системе AMD64 одна версия может войти, /usr/lib/x86_64-linux-gnuа другая - войти i386-linux-gnu).

Как стандартный, так и динамический компоновщик знают об этих каталогах, поэтому изменение должно быть невидимым для большинства приложений. Если приложение выполняет поиск актуальных файлов библиотеки вручную, то оно нуждается в модификации.

Подробности изменений в Ubuntu можно найти здесь:

https://wiki.ubuntu.com/MultiarchSpec

Джеймс Хенстридж
источник
3
Хотя ссылка на Ubuntu является хорошей отправной точкой, с wiki.debian.org/Multiarch можно получить гораздо больше документации (а также ожидается, что она будет гораздо лучше обновляться ; вики Ubuntu получают столько же любви, сколько заброшенное кладбище слонов).
tripleee
2
Я думал, у нас есть / lib32 для нескольких арок?
Бахсау