gpt4 book ai didi

gcc - 32 位构建于 64 位 CentOS 5 主机上

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:48 25 4
gpt4 key购买 nike

我正在尝试在 64 位主机(运行 CentOS 5.8)上构建 valgrind (3.7.0)。我需要使用 valgrind 检查 32 位程序的性能(在 32 位主机上构建,我需要 32 位,因为该程序需要在 32 位和 64 位主机上运行)。

问题是我的 64 位主机没有 gcc,所以我使用“sudo yum install gcc”和斯坦福大学存储库镜像安装了 gcc(这个 64 位主机的默认存储库不可用,因此 yum 超时).这允许我构建 valgrind,它适用于本地的东西(例如“valgrind ls -l”),但是当我试图为我在另一台主机上构建的 32 位程序运行它时失败了。我终于发现 valgrind 的配置脚本检测到我在主机上没有 32 位构建支持(通过运行“configure --enable-only32bit”报告“正在检查 32 位构建支持......没有”) .

那么如何获得对 gcc 等的 32 位支持呢?我试过“yum search gcc | grep i386”,然后安装任何看起来像 32 位 C 的东西(“sudo yum install compat-glibc.i386 compat-libgcc-296.i386 compat-libstdc++-296.i386 compat-libstdc++-33。 i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libstdc++44-devel.i386 edac-utils.i386 edac-utils.x86_64 nspluginwrapper.i386") 但“configure --enable-only32bit”仍然报告没有 32 位支持.

PS:yum.conf 看起来很小,即没有排除项。其中唯一奇怪的是“installonly_limit = 5”

好的,这是独家新闻,感谢Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code

简短的回答是安装 glibc-devel.i386(无论如何在 CentOS 5.8 上......对于不同的发行版,它有不同的名称,例如 glibc-devel.i686、libc6-dev-i386 等),可能除了我在上面列出的其他软件包(我没有卸载它们以查看 glibc-devel.i386 本身是否足够)。

我找到了要搜索的正确问题,方法是检查配置脚本,发现它尝试使用“-m32”编译最小 C 程序,如果失败,则配置脚本报告“不支持 32 位”。所以我创建了经典的 HelloWorld C 程序并编译了它(“cc -m32 hello.c”)。这提示缺少头文件“gnu/stubs-32.h”。所以谷歌搜索“什么包有 gnu/stubs-32.h”把我带到了上面引用的 stackoverflow 页面。

最佳答案

尝试:

yum 安装 glibc-devel.i686

如果这不起作用,请检查此解决方案:How to compile a 32-bit binary on a 64-bit linux machine with gcc/cmake

关于gcc - 32 位构建于 64 位 CentOS 5 主机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585957/

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