Разница между установкой libx: i386 и lib32x

В репозиториях Ubuntu есть ряд библиотек, таких как lib32stdc++6 и lib32ncurses5. Вы можете установить их в 64-битной системе или перейти к установке libstdc++6:i386 и libncurses5:i386. Мне интересно узнать, в чем разница между двумя типами пакетов.

Какова реальная разница? Почему они оба доступны? Находясь под впечатлением, что libx:i386 - это новый способ ведения дел, всегда ли этот метод предпочтительнее установки варианта lib32x? Наличие нескольких уже установленных lib32x и нескольких libx:i386 библиотек также заставляет меня задуматься о том, будет ли хорошей идеей переключиться на пакет только одного типа, заменив их аналогами.

4
задан 19 July 2013 в 15:38

1 ответ

Практическая разница между этими пакетами заключается в том, где расположены библиотеки. В libfoo:i386 библиотеки оказываются в многоархитективных путях, таких как /usr/lib/i386-linux-gnu, тогда как в lib32foo:amd64 библиотеки заканчиваются в «старых» путях, таких как /usr/lib32. В отдаленном будущем мы бы избавились от любых lib32foo пакетов, но мы еще не там. По крайней мере, lib32stdc++6 необходимо для построения gcc-X.Y на данный момент, потому что он собирает gcc-X.Y-multilib, который способен поддерживать переключатели, такие как -m32, для выбора целевой архитектуры (то есть архитектуры результирующего двоичного файла). Без пакетов lib32foo зависимости сборки gcc-X.Y пересекают границы архитектуры, и это пока не поддерживается. Есть еще несколько вопросов, которые требуют некоторое время хранить пакеты lib32foo.

0
ответ дан 19 July 2013 в 15:38

Другие вопросы по тегам:

Похожие вопросы: