当我做的时候emerge -avuDN glibc
总是得到这个:
>>> Emerging (1 of 28) sys-libs/glibc-2.15-r3
* glibc-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* glibc-ports-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* glibc-2.15-patches-23.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
make -s glibc-test
make -s glibc-test
* Scanning system for __guard to see if you need to rebuild first ... ... [ !! ]
* Your system still has old SSP __guard symbols. You need to
* rebuild all the packages that provide these files first:
* //bin/busybox
* //sbin/lvm.static
* //sbin/dmsetup.static
* //sbin/dmeventd.static
* //usr/bin/diet
* //usr/bin/dnsd
* //usr/bin/elftrunc
* //usr/sbin/vdu
* //usr/sbin/vps
* //usr/sbin/vtag
* //usr/sbin/nattribute
* //usr/sbin/vattribute
* //usr/sbin/chxid
* //usr/sbin/lsxid
* //usr/sbin/showattr
* //usr/sbin/vkill
* //usr/sbin/vwait
* //usr/sbin/vcontext
* //usr/sbin/setattr
* //usr/sbin/ncontext
* //usr/sbin/exec-cd
* //usr/sbin/vmemctrl
* //usr/sbin/reducecap
* //usr/sbin/vdevmap
* //usr/sbin/vdlimit
* //usr/sbin/vlimit
* //usr/sbin/vsched
* //usr/sbin/vspace
* //usr/sbin/vuname
* //usr/sbin/vserver-info
* //usr/sbin/vserver-stat
* //usr/sbin/vrsetup
* //usr/sbin/naddress
* //usr/lib64/liblzma.so.0
* ERROR: sys-libs/glibc-2.15-r3 failed (setup phase):
* old __guard detected
*
* Call stack:
* ebuild.sh, line 93: Called pkg_setup
* glibc-2.15-r3.ebuild, line 175: Called eblit-run 'pkg_setup'
* glibc-2.15-r3.ebuild, line 161: Called eblit-glibc-pkg_setup
* pkg_setup.eblit, line 119: Called die
* The specific snippet of code:
* die "old __guard detected"
*
* If you need support, post the output of `emerge --info '=sys-libs/glibc-2.15-r3'`,
* the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.15-r3'`.
* The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.15---r3/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/die.env'.
* Working directory: '/var/tmp/portage/sys-libs/glibc-2.15-r3'
* S: '/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15'
答案1
错误信息非常清楚。一些二进制文件仍在使用(非常)旧的符号。您必须重建与二进制文件关联的包。错误消息为您提供了这些二进制文件的列表。
现在您可以将二进制文件映射到一个包q file /bin/busybox
(该命令需要 app-portage/portage-utils q
)。
user@host # q file /usr/bin/q
app-portage/portage-utils (/usr/bin/q)
现在出现包:emerge -1 app-portage/portage-utils
答案2
正如您的emerge 输出中所述,问题是源自列出的软件包的旧SSP 防护。有几种方法可以解决该问题。谷歌搜索可以找到很多解决这个问题的人的案例。此案例看起来与您遇到的问题最相似:
http://forums.gentoo.org/viewtopic-p-6903712.html?sid=128bdb308c2cb096c464a197a5980936\
我将从这里开始,然后根据您的环境/设置研究具体细节。