在具有向后移植功能的 Debian squeeze (6) 64 上启用 32 位编译(弃用后)

在具有向后移植功能的 Debian squeeze (6) 64 上启用 32 位编译(弃用后)

我尝试用 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/

但我无法安装此向后移植。当我运行命令时

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

i386对于 Debian 6上 64 位 ( ) 的32 位 ( ) 构建amd64,您不需要多架构;如果您安装gcc-multilibor g++-multilib(取决于您的目标)并使用gcc -m32(or g++ -m32) 进行编译,您应该会得到您想要的结果。

相关内容