免费注册 查看新帖 |

Chinaunix

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

编译出现internal compiler error。应该怎么解决啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-05 17:22 |只看该作者 |倒序浏览
当我在用gcc 4.0.4编译一个wimax 驱动时,出现了internal compiler error.但同样的代码,同样的编译过程,在另一个不同的环境(gcc 4.3.2, ubuntu 8.10)中编译却正常。
  编译出错的环境消息如下:
root@not a tty[build]# gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)
root@not a tty[build]# uname -a
Linux xxx 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux
root@not a tty[build]#

   错误消息如下:

root@1[wimax-i2400m-v1.4.1]# make KDIR=/work/trunk_work/core/build/kernel-linux-2.6.27.7
make -C /work/trunk_work/core/build/kernel-linux-2.6.27.7-HPCM00 M=/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1
make[1]: Entering directory `/work/trunk_work/core/build/kernel-linux-2.6.27.7-HPCM00'
I: executing compile-time config scripts
I: enabling debugfs_create_size_t compatibility
I: enabling genl_unregister_mc_group() compatibility
I: compile-time version is v1.4.1-v1.4.1
I: Installed new build configuration file include/config.h
I: Installed new build configuration file include/linux/wimax/version.h
I: Installed new build configuration file .tmp.config.mk
  LD      /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/built-in.o
  LD      /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/built-in.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/sdio.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/sdio-tx.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/sdio-fw.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/sdio-rx.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb-compat.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb-fw.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb-notif.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb-tx.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb-rx.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/usb.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/control.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/driver.o
  CC [M]  /work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/fw.o
/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/fw.c: In function ¡®i2400m_fw_dnload¡¯:
/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/fw.c:1051: internal compiler error: in splice_child_die, at dwarf2out.c:5346
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
make[4]: *** [/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m/fw.o] Error 1
make[3]: *** [/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax/i2400m] Error 2
make[2]: *** [/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1/drivers/net/wimax] Error 2
make[1]: *** [_module_/work/trunk_work/core/driver/2.6.27.7/wimax-i2400m-v1.4.1] Error 2
make[1]: Leaving directory `/work/trunk_work/core/build/kernel-linux-2.6.27.7'
make: *** [all] Error 2
root@1[wimax-i2400m-v1.4.1]#


我去看地fw.c代码,好像也没有看出什么不特别的地方。可就是出现了这个郁闷的错误。这种问题以前没有遇到过。想查出问题的根源也感觉无从下手。有没有人遇到过类似的问题啊?给点解决办法的思路吧。万分感谢了。

论坛徽章:
0
2 [报告]
发表于 2009-02-05 17:36 |只看该作者
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

已经告诉你了,gcc的bug,看看别人发现没有,再看看有没有解决方法。没有?提交你的bug。
详细情况,看那个链接

论坛徽章:
0
3 [报告]
发表于 2009-02-07 13:04 |只看该作者
要不...你自己调试gcc?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2009-02-07 18:07 |只看该作者
要不你先把那里的代码贴出来看看

论坛徽章:
0
5 [报告]
发表于 2009-02-07 23:53 |只看该作者
他编译wimax驱动的时候的问题,有的时候是会出问题,有可能是gcc的bug,不过,追踪bug,首先要熟悉gcc,还是直接去buglist上找找比较好,maillist上也可以看看,没有就问。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2009-02-08 00:16 |只看该作者
原帖由 prolj 于 2009-2-7 23:53 发表
他编译wimax驱动的时候的问题,有的时候是会出问题,有可能是gcc的bug,不过,追踪bug,首先要熟悉gcc,还是直接去buglist上找找比较好,maillist上也可以看看,没有就问。

我想的是,改写代码,让它编译过去。
干一件事情不可本末倒置,先想想看可以不可以解决眼前的问题。
等到有时间有精力了再来解决别的问题。

[ 本帖最后由 cjaizss 于 2009-2-8 00:18 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP