Gcc 32位构建在64位CentOS 5主机上

Gcc 32位构建在64位CentOS 5主机上,gcc,centos,32bit-64bit,valgrind,yum,Gcc,Centos,32bit 64bit,Valgrind,Yum,我正在尝试在64位主机(运行CentOS 5.8)上构建valgrind(3.7.0)。我需要使用valgrind来检查32位程序的性能(构建在32位主机上,我需要32位,因为程序需要在32位和64位主机上运行) 问题是我的64位主机没有gcc,因此我使用“sudo-yum-install-gcc”和斯坦福大学repo镜像安装了gcc(此64位主机的默认repo不可用,因此yum超时)。这使我能够构建valgrind,它对本地的东西(例如“valgrind ls-l”)有效,但在尝试为我在另一台

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

问题是我的64位主机没有gcc,因此我使用“sudo-yum-install-gcc”和斯坦福大学repo镜像安装了gcc(此64位主机的默认repo不可用,因此yum超时)。这使我能够构建valgrind,它对本地的东西(例如“valgrind ls-l”)有效,但在尝试为我在另一台主机上构建的32位程序运行它时失败了。我最终发现valgrind的配置脚本检测到我在主机上没有32位构建支持(通过运行“configure--enable-only32位”报告“检查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@“configure--enable-only 32位”仍然报告没有32位支持

PS:yum.conf看起来非常小,即没有排除项。其中唯一奇怪的是“installonly\u limit=5”

好的,这是独家新闻,谢谢你

简而言之,除了我上面列出的其他软件包之外,可能还需要安装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包含哪些软件包”时,我进入了上面提到的stackoverflow页面。

试试:

yum安装glibc-devel.i686

如果这不起作用,请检查此解决方案: