[root@localhost dyliu]# yum list gcc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: centos.mirrors.tds.net
* extras: centos.mirrors.tds.net
* rpmforge: apt.sw.be
* updates: mirror.ubiquityservers.com
Installed Packages
gcc.i686 4.4.6-3.el6 @anaconda-CentOS-201112130233.i386/6.2
默认情况下,如果我运行yum install gcc
,yum 工具将为我安装 gcc 4.4.6。
问题>如何安装最新的 gcc4.7.0在 centos 6.2 上?
谢谢
答案1
如果您找不到 CentOS 6.2 的任何官方或非官方 RPM,您可以尝试为其他相当相似的系统(如 Fedora)设计的 RPM。这并不总是有效,因为目标系统的共享库(运行时依赖项)版本不一定与您的系统上的版本相对应。
构建自己的二进制文件也是一个选择。为此,您必须安装依赖项,运行配置脚本和自动编译过程,最后将二进制文件移动到系统的 /bin 和 /usr/lib 文件夹中。
缺点是卸载过程很麻烦,除非你跟踪安装了什么或保留源文件夹(所以进行卸载可用)。
答案2
自己编译 gcc 绝对是一个选择。这并不难;我按照 Ярослав Рахматуллин 提到的链接,在 RHEL 5.9 上成功编译了 gcc 4.8.1。我必须下载 mpfr(3.1.2,http://www.mpfr.org/)、GMP(5.1.2、http://gmplib.org/)和 mpc (1.0.1,http://www.multiprecision.org/) 作为依赖项。
来自《手动编译》文档的特别有用的提示:* 将 mpfr、gmp 和 mpc 源文件解压到您的 gcc 源目录中,并像这样链接它们:ln -s mpfr-3.1.2 mpfr ; ln -s gmp-5.1.2 gmp ; ln -s mpc-1.0.1 mpc。* 使用源外构建(例如与您的 gcc-4.8.1 源目录位于同一级别:mkdir gcc-build ; cd gcc-build ; ../gcc-4.8.1/configure --prefix=/home/user/usr)
尽管我使用了 10 个处理器进行并行构建,但整个编译器集合的实际编译仍然需要很长时间。
正如 Ярослав Рахматуллин 所建议的,如果您的安装目录(前缀)已经包含其他已编译的程序,您可能希望在执行“make install”之前和之后“记录”其内容,如下所示:
'查找 /home/user/usr > state.before;进行安装;查找 /home/user/usr > state.after'
因此,您可以比较这两个文件并删除差异,如果需要删除新的 gcc(但我必须注意,我个人没有尝试过这种方法,而是保留构建目录以便能够执行“make uninstall”)。
确保调整 PATH 变量以包含 /home/user/usr/bin。