gpt4 book ai didi

linux - 为什么 32 位 .deb 包不能安装在 64 位 Ubuntu 上?

转载 作者:IT王子 更新时间:2023-10-29 01:02:44 26 4
gpt4 key购买 nike

我的 .deb 软件包基于 32 位 Ubuntu 构建并包含使用 gcc 编译的可执行文件,但无法安装在 64 位版本的操作系统上(错误消息显示“错误的架构 i386”)。这让我感到困惑,因为我认为通常 32 位软件可以在 64 位硬件上运行,但反之则不然。

我可以使用我的 32 位机器生成一个可以安装在 64 位操作系统上的 .deb 文件吗?仅仅是使用适当的编译器标志来生成可执行文件(如果是的话,它们是什么),还是 .deb 文件本身以某种方式特定于一种处理器架构?

最佳答案

deb 安装程序可能拒绝安装您的软件包,因为它(正确地)标记有冲突的架构:字段。 i386 代码可以在 amd64 机器上执行,但它需要存在所有适当的依赖项(32 位库等)。最好为每个架构构建单独的包。

是的,您可以在 32 位机器上构建 64 位版本。这称为交叉编译,它要求您为此目的创建构建环境。首先,您可能需要查找 dpkg-cross 和 apt-cross 工具。

或者,您可以只安装一个运行 64 位操作系统的虚拟机,并在那里构建您的二级架构。

关于linux - 为什么 32 位 .deb 包不能安装在 64 位 Ubuntu 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com