%2064%20%D1%81%20%D0%B1%D1%8D%D0%BA%D0%BF%D0%BE%D1%80%D1%82%D0%B0%D0%BC%D0%B8%20(%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BF%D1%80%D0%B5%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8).png)
Я стараюсь компилировать программное обеспечение с 32-битной архитектурой libc
, достаточно старой, чтобы быть совместимой с моими клиентами.
Итак, я установилDebian Squeeze (6) 64 битэто последние дни (после даты устаревания) в контейнере ProXmox.
Я настроил архивные репозитории так, чтобы они позволяли мне обновлять/устанавливать пакеты, это работает. У меня sources.list
это:
deb http://archive.debian.org/debian squeeze main contrib non-free
deb http://archive.debian.org/debian squeeze-lts main contrib non-free
# Backports
deb http://archive.debian.org/debian-archive/debian-backports squeeze-backports main contrib non-free
# Security
deb http://archive.debian.org/debian-security squeeze/updates main contrib non-free
Должен сказать, что было много устаревших ключей GPG, и после обновления некоторые из них так и остались устаревшими, похоже, они больше не поддерживаются.
Моя текущая версия dpkg
- 1.15.11, оригинальная версия Squeeze, в которой эта multiarch
функциональность отсутствует. Она появляется только в 1.16... Достаточно хорошо, обратные порты, перечисленные выше, содержат пакеты wheezy, где dpkg находится в версии 1.16.9.
http://archive.debian.org/debian-archive/debian-backports/pool/main/d/dpkg/
Но я не могу установить этот backports. Когда я запускаю команду
apt-get install -t squeeze-backports dpkg
Он отвечает:
Reading package lists... Done
Building dependency tree
Reading state information... Done
dpkg is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
apt-get policy dpkg
возвращается
dpkg:
Installed: 1.15.11
Candidate: 1.15.11
Version table:
*** 1.15.11 0
500 http://archive.debian.org/debian/ squeeze/main amd64 Packages
100 /var/lib/dpkg/status
Если я спрашиваю, то потому, что я почти уверен, что все исправил. Думаю, я нахожусь на границе, где архивные версии имеют свои ограничения.
решение1
Для 32-битной ( i386
) сборки на 64-битной ( amd64
) в Debian 6 вам не понадобится мультиархитектура; если вы установите gcc-multilib
или g++-multilib
(в зависимости от вашей цели) и скомпилируете с gcc -m32
(или g++ -m32
), вы должны получить желаемый результат.