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

Gcc 关于在CentOS上构建整个工具链的教程,gcc,centos,glibc,binutils,centos6,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

我在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


有人知道这个任务是否有教程吗?

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


如果您不能/不愿意,最好的办法是将这些部件作为CentOS和Fedora的源RPM,拆包并通过窃取Fedora的源代码和补丁来修复CentOS,注意不要否决系统包、正确版本并修复到其他地方安装(不要把你的系统搞得太乱了!
/usr/local
)。这些部分至少是binutils,gcc。

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

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

您可以从Openembedded或Yocto下载最新的工具链。 在这里,您不必对当前系统进行任何软件包安装。 只需下载工具链、环境源代码,就可以检查c++11支持了。 下载工具链的位置:
(只需根据您的机器支持选择32位或64位体系结构)

你不能在旧系统的chroot中安装一个最近的CentOS吗?你已经尝试过这里的说明了吗:?如果是,你在哪里卡住了?请告诉我们一些研究意图。我实际上花了很长时间尝试它们,但实际上根本不起作用。主要的问题是glibc,ld linux xxxx找不到correct libc.so,而且头文件安装在gcc找不到的错误位置,等等。我没有进行交叉编译。我只需要在机器上安装一个编译器。正如我提到的,centos上的工具链太旧,不支持任何c++11功能。此外,它没有ld.gold。VM不是一个选项,因为centos机器运行的是I这个指令太抽象了,我不能遵循。@ ICADO,是的,它相当复杂。而且不能保证你不会有一个严重的系统崩溃。你用它构建的任何工具链都不会在其他地方运行。如果你真的需要C++ 2011个特性,那么就可以在最新的系统中无缝地使用它。你需要做大量的额外工作。你甚至可以在虚拟机上运行Fedora18,如果你想玩新功能的话。或者等待RHEL/CentOS 7。。。