在CentOS上构建整个工具链的教程

时间:2013-02-08 00:35:53

标签: gcc centos glibc binutils centos6

我正在使用CentOS 6机器,它有很旧的GCC / GlibC版本。我想用最新或至少非常新版本构建整个glibc,binutils,gcc工具链,以便在最新的gcc中使用c ++ 11支持,在最近的binutils中使用ld.gold,并且可能在最近的glibc中进行改进。

我想将整个工具链放在一个单独的目录中,而不是影响任何现有的系统文件。我还想用--sys-root构建gcc,这样在使用gcc时,我不需要指定-I / some / directory / include和-L / some / directory / lib或其他任何参数。生成的可执行文件也将自动使用新的ld-linux-xxxxx程序加载器,它将自动找到新的libc.so。

任何人都知道是否有关于此任务的教程?

4 个答案:

答案 0 :(得分:0)

编译器非常依赖glibc,尽管你设法在chrooted系统或同等系统中构建编译器,你还需要构建使用这个新编译器构建的程序所需的所有库。 您可以做的最好的事情是使用全新的系统(vm或其他)或升级现有系统

答案 1 :(得分:0)

您可以从Openembedded或Yocto下载最新的工具链。 在这里,您不必对当前系统进行任何软件包安装。 只需下载工具链,获取环境源代码,即可开始检查c ++ 11支持。 下载工具链的位置: http://downloads.yoctoproject.org/releases/yocto/yocto-1.7/toolchain/(根据您的机器支持,只选择32位或64位架构)

答案 2 :(得分:-1)

如果您需要最新的工具链,最好迁移到Fedora。

如果你不能/不会,最好的办法是将这些碎片作为CentOS和Fedora的源RPM,解压缩并通过窃取Fedora的源代码和修补程序来修复CentOS,注意它没有。 t否决系统包,更正版本并修复安装到别处(不要太乱搞你的系统!/usr/local浮现在脑海中。这些作品至少是binutils,gcc。

答案 3 :(得分:-1)

我不知道你为什么需要这个?如果需要为另一台计算机编译,我建议使用运行相同操作系统的虚拟机作为目标。更容易!!