gcc升级,遇到的一系列解决了跟还没解决的问题……
时间:2009-01-28
来源:互联网
因为x86_64 g++ 4.1.2在处理C++ RVO上的问题(优化掉了几个引用间的互作用导致程序跑不起来了,以前用其他发行版时i386的没这种问题),再说前几天升级world时gcc 4.3.2已经安装,于是决定升级。按gentoo gcc升级文档的general篇,gcc-config x86_64-pc-linux-gnu-4.3.2之后emerge -eav system,于是噩梦开始了- -
第一个出问题的包是sys-apps/sandbox-1.3.2。问题在编译到ABI=x86的时候出现。首先的问题是configure里checking for x86_64-pc-linux-gnu-gcc失败了。查看config.log,IA32 Emulation的问题,问题是我是用genkernel生成的内核,确认了下/etc/kernels里对应的config里也有,没理由啊。于是把内核捣鼓了好久未果之后满网上去查,结果发现有人说删去/usr/bin/x86_64-pc-linux-gnu-*就行了- -原理是啥?我不知道,照做,接下来一个内含库的生成时libtool却还要用x86_64-pc-linux-gnu-gcc,于是hack了其ebuild,专门在econf前后隐显x86_64-pc-linux-gnu-gcc。
然后是重中之重sys-libs/glibc-2.9_p20081201-r1。仍然是ABI=x86。20081201是make时报TLS support is required,20081201-r1是configure时报无法验证long double的sizeof= =(tls的检测倒是过去了,上一个版本的检测用的参数就有问题).这次彻底卡在这儿了。
然后今天上论坛,就看到4.3.3出来了……= =耐心剩下的不是太多,所以还是决定问问是否有人碰过类似的问题,以及请教咋解决呢?
作者: palxex 发布时间: 2009-01-28
kim@Boxer~$emerge --info Portage 2.1.6.7 (default/linux/amd64/2008.0/no-multilib, gcc-4.3.3, glibc-2.9_p20081201-r1 2.6.28-gentoo-r1 x86_64) ============================================== System uname: Linux-2.6.28-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9300_@_2.50GHz-with-glibc2.2.5 Timestamp of tree: Wed, 28 Jan 2009 05:15:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p48 dev-java/java-config: 1.3.7-r1, 2.1.7 dev-lang/python: 2.5.4-r2 dev-util/ccache: 2.4-r8 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.2 sys-apps/sandbox: 1.3.3 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu"
反正我是坚决不用multilib ..
作者: kimux 发布时间: 2009-01-29
../misc/syslog.c: In function '__vsyslog_chk': ../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to 'syslog': function body not available ../misc/syslog.c:155: sorry, unimplemented: called from here make[2]: *** [/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/misc/syslog.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/glibc-2.9-20081201/misc' make[1]: *** [misc/subdir_lib] Error 2 make[1]: Leaving directory `/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/glibc-2.9-20081201' make: *** [all] Error 2 * * ERROR: sys-libs/glibc-2.9_p20081201-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3500: Called eblit-run 'src_compile' * environment, line 1114: Called eblit-glibc-src_compile * src_compile.eblit, line 179: Called src_compile * environment, line 3500: Called eblit-run 'src_compile' * environment, line 1114: Called eblit-glibc-src_compile * src_compile.eblit, line 187: Called toolchain-glibc_src_compile * src_compile.eblit, line 122: Called die * The specific snippet of code: * make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" * The die message: * make for x86 failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/temp/build.log'. * The ebuild environment file is located at '/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/temp/environment'.
作者: coderoar 发布时间: 2009-01-29
楼上的兄弟比我强啊,至少这个地方过去了。检查log发现我的问题应该是multilib下不同的配置却仍然使用同一套CFLAGS造成的。可是又没发现有专门给x86指定CFLAGS的方法……难道handbook看漏了?
作者: palxex 发布时间: 2009-01-29
作者: palxex
仍然是ABI=x86
|
作者: coderoar 发布时间: 2009-01-29
问题应该是在我的portage在multilib ABI=x86下的CFLAGS里压根没有-m32(sandbox那里也是同一个问题,被我hack过去了,但这总不是办法),从multilib eclass那里看到其实是做了这个处理的,但没传递到后面,是在哪里没了呢?我还是一行行调吧.
作者: palxex 发布时间: 2009-01-30
我是用funtoo.org上面的stage3,gcc直接就是4.3.2.。所以不存在升级的问题。。逃过一劫
作者: kimux 发布时间: 2009-01-30
作者: coderoar
我也是multilib的x86_64,今早升级了gcc-4.3.3,硬是无法编译sys-libs/glibc-2.9_p20081201-r1,崩溃ing。
代码:
../misc/syslog.c: In function '__vsyslog_chk': ../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to 'syslog': function body not available ../misc/syslog.c:155: sorry, unimplemented: called from here make[2]: *** [/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/misc/syslog.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/glibc-2.9-20081201/misc' make[1]: *** [misc/subdir_lib] Error 2 make[1]: Leaving directory `/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/work/glibc-2.9-20081201' make: *** [all] Error 2 * * ERROR: sys-libs/glibc-2.9_p20081201-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3500: Called eblit-run 'src_compile' * environment, line 1114: Called eblit-glibc-src_compile * src_compile.eblit, line 179: Called src_compile * environment, line 3500: Called eblit-run 'src_compile' * environment, line 1114: Called eblit-glibc-src_compile * src_compile.eblit, line 187: Called toolchain-glibc_src_compile * src_compile.eblit, line 122: Called die * The specific snippet of code: * make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" * The die message: * make for x86 failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/temp/build.log'. * The ebuild environment file is located at '/mnt/cache/portage/portage/sys-libs/glibc-2.9_p20081201-r1/temp/environment'. |
作者: blackwhite 发布时间: 2009-01-30
作者: kimux
佩服你,如果我遇到这问题,肯定现在已经重装完了。。
我是用funtoo.org上面的stage3,gcc直接就是4.3.2.。所以不存在升级的问题。。逃过一劫 |
多谢提供funtoo的消息哈,听人说过这是gentoo的方向,就是没翻过还。
作者: palxex 发布时间: 2009-01-30
作者: kimux
佩服你,如果我遇到这问题,肯定现在已经重装完了。。
我是用funtoo.org上面的stage3,gcc直接就是4.3.2.。所以不存在升级的问题。。逃过一劫 |
作者: blackwhite 发布时间: 2009-01-30
http://bugs.gentoo.org/show_bug.cgi?id=256622
这个问题得到了修正。
emerge --sync.
作者: blackwhite 发布时间: 2009-01-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28