首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在64位Debian/Ubuntu上运行32位程序?

如何在64位Debian/Ubuntu上运行32位程序?
EN

Unix & Linux用户
提问于 2011-05-10 18:00:15
回答 2查看 119.8K关注 0票数 78

我有64位(amd64 a.k.a )。x86_64) Debian或Ubuntu安装。我需要偶尔运行32位(i 386/i 686)程序,或者为32位系统编译程序。我怎么才能尽量少大惊小怪地这么做呢?

奖励:如果我想运行或测试发行版的旧版本或更新版本,该怎么办?

EN

回答 2

Unix & Linux用户

发布于 2012-09-03 02:54:47

由于Ubuntu 11.04 (natty)和Debian 7.0 (wheezy)引入了多拱支持,32位和64位库可以共存在一个系统上。要安装32位库libXX,首先向系统添加必要的32位架构:

代码语言:javascript
运行
复制
sudo dpkg --add-architecture i386

然后安装32位库:

代码语言:javascript
运行
复制
sudo apt-get install libXX:i386

ia32-libs包。对于Ubuntu12.04来说,它不再包含任何库,它只将libXX:i386包作为依赖项使用。

编译部分对于C和C++程序来说相当容易,将-m32添加到CFLAGCXXFLAG中,这将使生成的程序生成32位,例如

代码语言:javascript
运行
复制
export CFLAGS="-m32"
gcc main.c -o main

这也适用于基于makefile的项目。

票数 29
EN

Unix & Linux用户

发布于 2019-09-12 10:34:20

如果您只想在现代64位Debian/Ubuntu系统上运行32位二进制文件,请执行以下操作:

代码语言:javascript
运行
复制
dpkg --add-architecture i386
apt update
apt install libc6-i386

这已经在Debian 9上进行了测试。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/12956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档