首页 > Linux > gentoo多版本gcc共存

gentoo多版本gcc共存

2010年7月9日 发表评论 阅读评论

前几天装xorp的时候发现我当前的gcc版本是4.4.4,编译时提示
error: #ident is a deprecated GCC extension
看来是gcc的版本太新了,已经不兼容这样的一些老用法,于是想emerge一个老版本的gcc,emerge过程倒是简单,到/usr/portage/下找到老版本的ebuild再emerge它就可以了,但是在编译老版本gcc的出现下面的错误:

/var/tmp/portage/sys-devel/gcc-3.4.6-r2/work/gcc-3.4.6/gcc/errors.c:1: error: bad value (native) for -march= core2

后来查资料了解到,这是由于/etc/make.conf里我设定的CFLAGS里面-marc=core2,而这种用法只有.3.2-r3以后的gcc版本才支持,系统在编译老版本的gcc时并不是用当前的新版本去直接编译老版本的gcc,而是使用要编译的老版本gcc去自己编译自己,所以make.conf中的-march=core2对于我要编译的较老的gcc版本是不支持的故而报错。解决方案就是将-march改为兼容老版本的值就ok了

分类: Linux 标签: , ,
  1. ati9550128m
    2010年9月5日17:40 | Internet Explorer Internet Explorer 7.0 Windows Windows 7|#1

    今天装XORP遇到和欢哥一样的问题,百度到了欢哥这。。。HOHO~ [s:21]

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

设置头像请到Gravatar上使用邮箱注册

订阅评论
[s:22] [s:21] [s:20] [s:19] [s:18] [s:17] [s:16] [s:15] [s:14] [s:13] [s:12] [s:11] [s:10] [s:09] [s:08] [s:07] [s:06] [s:05] [s:04] [s:03] [s:02] [s:01]