免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5186 | 回复: 1
打印 上一主题 下一主题

[系统安装] RHEL x86_64升级安装GCC make出现[c-lang.o] 错误 1 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-22 18:13 |只看该作者 |倒序浏览
本帖最后由 zzwevil 于 2012-12-22 18:16 编辑

RHEL x86_64升级安装GCC make出现[c-lang.o] 错误 1,求帮助,搞了几天无果。google此问题和相关的解决办法,只有很少的资料,试过一些,看上去比较靠谱的修改gmp.h也不行。

需求:
(GCC) 4.4.6 准备升级至GCC 4.6.3

当前环境:DELL T620 E5 8G ,RHEL 6.2 x86_64
m4 (GNU M4) 1.4.13

(GCC) 4.4.6
gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)
Copyright © 2010 Free Software Foundation, Inc.

[root@xxxx]# rpm -qa | grep gcc
libgcc-4.4.6-3.el6.i686
gcc-4.4.6-3.el6.x86_64
gcc-gfortran-4.4.6-3.el6.x86_64
libgcc-4.4.6-4.el6.x86_64
gcc-gfortran-4.4.6-4.el6.x86_64
libgcc-4.4.6-4.el6.i686
gcc-c++-4.4.6-4.el6.x86_64
gcc-4.4.6-4.el6.x86_64
gcc-c++-4.4.6-3.el6.x86_64
libgcc-4.4.6-3.el6.x86_64


过程:下载,编译安装最新gmp,mpfr,mpc,在安装GCC时,configure通过,make出错。

make结果如下:
In file included from /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:24:
/home/zzw/insdir/gcc-4.7.2/gcc/system.h:499: 错误:与‘strsignal’类型冲突
/usr/include/string.h:566: 附注:‘strsignal’的上一个声明在此
在包含自 ./tm.h:19 的文件中,
                 从 /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:26:
./options.h:3738:2: 错误:#error too many masks for ix86_isa_flags
In file included from /home/zzw/insdir/gcc-4.7.2/gcc/input.h:25,
                 from /home/zzw/insdir/gcc-4.7.2/gcc/tree.h:27,
                 from /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:27:
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/line-map.h:208: 错误:‘CHAR_BIT’未声明(不在函数内)
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/line-map.h:208: 错误:位段‘reason’的宽度不是一个整数常量
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/line-map.h:208: 警告:‘reason’比其类型的值要窄
在包含自 /home/zzw/insdir/gcc-4.7.2/gcc/tree.h:32 的文件中,
                 从 /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:27:
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:87:5: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:87:5: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:90:6: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:90:6: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:93:7: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:93:7: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:96:8: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:96:8: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:99:9: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:99:9: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:102:10: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:102:10: 错误:#if 中用零做除数
/home/zzw/insdir/gcc-4.7.2/gcc/real.h:105:9: 错误:#error "REAL_WIDTH > 6 not supported"
In file included from /home/zzw/insdir/gcc-4.7.2/gcc/c-family/c-common.h:26,
                 from /home/zzw/insdir/gcc-4.7.2/gcc/c-tree.h:25,
                 from /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:28:
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:225: 错误:位段‘type’的宽度不是一个整数常量
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:225: 警告:‘type’比其类型的值要窄
在包含自 /home/zzw/insdir/gcc-4.7.2/gcc/c-family/c-common.h:26 的文件中,
                 从 /home/zzw/insdir/gcc-4.7.2/gcc/c-tree.h:25,
                 从 /home/zzw/insdir/gcc-4.7.2/gcc/c-lang.c:28:
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:267:3: 错误:#error "Cannot find a least-32-bit signed integer type"
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:269: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cppchar_t’
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:270: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cppchar_signed_t’
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:768: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cpp_interpret_charconst’
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:779: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cpp_host_to_exec_charset’
/home/zzw/insdir/gcc-4.7.2/gcc/../libcpp/include/cpplib.h:954: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cpp_parse_escape’
make[3]: *** [c-lang.o] 错误 1
make[3]: Leaving directory `/usr/local/gcc463/gcc'
make[2]: *** [all-stage1-gcc] 错误 2
make[2]: Leaving directory `/usr/local/gcc463'
make[1]: *** [stage1-bubble] 错误 2
make[1]: Leaving directory `/usr/local/gcc463'
make: *** [all] 错误 2

#以上操作是在PC上的操作结果,与DELL SERVER上操作结果相同。
求解惑。

论坛徽章:
0
2 [报告]
发表于 2013-11-28 17:55 |只看该作者
最新版本4.8.*都有这个问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP