我有一个专用程序,我正试图在64位系统上使用.

当我启动安装程序时,它工作正常,但在它try 更新自身并编译一些模块后,它无法加载它们.

我怀疑这是因为它使用了gcc,gcc试图为64位系统编译它们,因此这个程序不能使用这些模块.

有没有办法(一些环境变量或类似的东西)迫使gcc为32位平台做所有事情.32位chroot能用吗?

推荐答案

您需要让GCC使用-m32标志.

您可以try 在$PATH中编写一个简单的shell脚本,并将其称为gcc(确保不覆盖原始gcc,并确保新脚本在$PATH中更早出现,并且它使用gcc的完整路径).

我认为您需要的代码大约是/bin/gcc -m32 $*,这取决于您的shell($*包含了所有参数,尽管它可能是其他东西——非常重要!)

Linux相关问答推荐

创建守护进程时打开0,1,2描述符

2023 年如何在现代 Linux 上安装 Firebird SQL 版本 3 或 4?

如何过滤 Bash 的正则表达式(Linux)中的所有值,除了一个?

有没有办法确定什么代码使 linux 共享对象inflating ?

awk 打印除最后一列以外的所有内容 + 最后一列

c++进程状态中的+是什么意思

如何恢复已停止的进程?

如何在 Linux 上使用 -grep 构建过滤间隔的命令

我有 ext2 格式的文件系统图像.我喜欢在终端中读取 Linux 特别是 Ubuntu 中的所有文件系统 struct 数据.有没有工具>

Linux上Kvaser数据库编辑器的等效工具

如何重新安装最新的 cmake 版本?

如何判断 Ubuntu 12.04 LTS 上是否安装了多个版本的 PHP?

Linux 上的 C++ 开发 - 我从哪里开始?

如何克隆 OpenLDAP 数据库

如何让 PHP、Symlinks 和 __FILE__ 很好地协同工作?

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

bash 中的线程?

如何从 shell 确定当前的 CPU 利用率?

如何在 linux 中使用 CMake 和 Kdevelop 编译 GLUT + OpenGL 项目?

readelf vs. objdump:为什么都需要