오래된 SSP __guard 기호로 인해 Gentoo Linux에서 glibc를 업그레이드할 수 없습니다.

오래된 SSP __guard 기호로 인해 Gentoo Linux에서 glibc를 업그레이드할 수 없습니다.

나는 할 때 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

이머지 출력에 명시된 대로 문제는 나열된 패키지에 대한 오래된 SSP 보호로 인해 발생합니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다. Google 검색을 통해 이 문제를 해결한 사람들의 사례를 많이 찾아볼 수 있습니다. 이 사례는 귀하의 문제와 가장 유사해 보입니다.

http://forums.gentoo.org/viewtopic-p-6903712.html?sid=128bdb308c2cb096c464a197a5980936\

여기에서 시작한 다음 환경/설정에 따라 구체적인 작업을 진행하겠습니다.

관련 정보