Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 41065 - gcc-3.3.2-r5 failed: bogus(?) claim of libgcc-dependent binaries
Summary: gcc-3.3.2-r5 failed: bogus(?) claim of libgcc-dependent binaries
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-09 19:47 UTC by Whit Blauvelt
Modified: 2004-02-13 11:58 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Whit Blauvelt 2004-02-09 19:48:00 UTC
Here's the readout:

 * Applying gcc332-gentoo-branding.patch...                                                                           [ ok ]

 * This sys-libs/glibc has __guard object and __stack_smash_handler functions
 * scanning the system for binaries with __guard - this may take 5-10 minutes
 * Please do not press ctrl-C or ctrl-Z during this period - it will continue

 * scan_libgcc_linked_ssp.sh: Invalid or unset record 'packages' in mtimedb.
Invalid or unset record 'eclass' in mtimedb.
/usr/portage/sys-devel/gcc/files/awk/scanforssp.awk does not exist!

 * Found binaries that are dynamically linked to the libgcc with __guard@@GCC
 * You need to compile these binaries without CFLAGS -fstack-protector/hcc -r

 * Also, you have to make sure that using ccache needs the cache to be flushed
 * wipe out /var/tmp/ccache or /root/.ccache.  This will remove possible saved
 * -fstack-protector arguments that still may reside in such a compiler cache

 * When such binaries are found, gcc cannot remove libgcc propolice functions
 * leading to gcc -static -fstack-protector breaking, see gentoo bug #25299

 * To do a full scan on your system, enter this following command in a shell
 * (Please keep running and remerging broken packages until it do not report
 *  any breakage anymore!):

 *  # /usr/portage/sys-devel/gcc/files/scan_libgcc_linked_ssp.sh


!!! ERROR: sys-devel/gcc-3.3.2-r5 failed.
!!! Function check_glibc_ssp, Line 219, Exitcode 0
!!! Binaries with libgcc __guard@GCC dependencies detected!

===

Okay, but there's no /var/tmp/ccache or /root/.ccache on the system. And there are apparently no __guard@GCC symbols:

# /usr/portage/sys-devel/gcc/files/scan_libgcc_linked_ssp.sh
 * Scanning system for __guard@GCC symbols...
 *  Scanning 01 of 24 /lib...
 *  Scanning 02 of 24 /usr/lib...
 *  Scanning 03 of 24 /opt/blackdown-jdk-1.3.1/jre/lib/i386...
 *  Scanning 04 of 24 /usr/X11R6/lib...
 *  Scanning 05 of 24 /usr/kde/3.1/lib...
 *  Scanning 06 of 24 /usr/kde/3/lib...
 *  Scanning 07 of 24 /usr/local/lib...
 *  Scanning 08 of 24 /usr/qt/3/lib...
 *  Scanning 09 of 24 /bin...
 *  Scanning 10 of 24 /opt/Acrobat5...
 *  Scanning 11 of 24 /opt/bin...
 *  Scanning 12 of 24 /opt/blackdown-jdk-1.3.1/bin...
 *  Scanning 13 of 24 /opt/blackdown-jdk-1.3.1/jre/bin...
 *  Scanning 14 of 24 /sbin...
 *  Scanning 15 of 24 /usr/X11R6/bin...
 *  Scanning 16 of 24 /usr/bin...
 *  Scanning 17 of 24 /usr/i686-pc-linux-gnu/gcc-bin/3.2...
 *  Scanning 18 of 24 /usr/kde/3.1/bin...
 *  Scanning 19 of 24 /usr/kde/3.1/sbin...
 *  Scanning 20 of 24 /usr/kde/3/bin...
 *  Scanning 21 of 24 /usr/local/bin...
 *  Scanning 22 of 24 /usr/local/sbin...
 *  Scanning 23 of 24 /usr/qt/3/bin...
 *  Scanning 24 of 24 /usr/sbin...

[ and that's it - nothing found ]

====

So it looks like one of the earlier errors in not finding files expected => a bogus conclusion about libgcc-linked binaries => a failed install.

Where does this actually leave me, by the way? gcc -v gives me 3.2.3 still. So is 3.3.2-r5 uninstallable until whatever this has tripped over is fixed in the ebuild?


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




# emerge info
Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9)
=================================================================
System uname: 2.6.2-rc1-gentoo i686 AMD Athlon(tm) XP 2500+
GENTOO_MIRRORS="http://gentoo.oregonstate.edu/
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /var/bind
/usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/kde/3/share/config
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss apm avi crypt cups encode foomaticdb gif gtk2 jpeg kde gnome libg++
mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv
zlib gdbm berkdb slang readline arts tetex svga tcltk java guile mysql X sdl gpm
tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt motif opengl mozilla cdr"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -pipe"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="ccache -sandbox"
Comment 1 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-11 13:45:28 UTC
I think the error is obvious:

--
 * scan_libgcc_linked_ssp.sh: Invalid or unset record 'packages' in mtimedb.
Invalid or unset record 'eclass' in mtimedb.
/usr/portage/sys-devel/gcc/files/awk/scanforssp.awk does not exist!
--

Comment 2 Whit Blauvelt 2004-02-12 07:49:55 UTC
Agreed that that looks like the obvious set of errors. But saying that doesn't explain what errors led to those errors being there.

> scan_libgcc_linked_ssp.sh: Invalid or unset record 'packages' in mtimedb.

What programs use mtimedb? I certainly haven't done anything at the user level that addressed that?

> Invalid or unset record 'eclass' in mtimedb.

Ditto. Is there some easy way to reconcile mtimedb? What _is_ mtimedb?

> /usr/portage/sys-devel/gcc/files/awk/scanforssp.awk does not exist!

Why is gcc's ebuild calling for a script that's not on the system? What package should have put it there, if not gcc? If not gcc, why wasn't it a dependency required before the gcc install - or why doesn't gcc include its own copy of this script to avoid this dependency problem?
Comment 3 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-12 10:14:09 UTC
I think you rsync'd on the wrong time, and it was when Seemant made a change
to it.  You should actually have that file.  Please resync, and try again
(after you verified that the file is present ...).
Comment 4 Whit Blauvelt 2004-02-12 14:49:01 UTC
Progress after emerge rsync:

# emerge -up gcc    
Deleting invalid mtimedb key: packages
Deleting invalid mtimedb key: eclass

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild     U ] sys-devel/gcc-3.3.2-r5 [3.2.3-r3] 

- and - 

# ls -l /usr/portage/sys-devel/gcc/files/awk/scanforssp.awk
-rw-r--r--    1 root     root         5248 Dec 31 13:53 /usr/portage/sys-devel/gcc/files/awk/scanforssp.awk

Comment 5 Whit Blauvelt 2004-02-13 11:58:52 UTC
Yup. Seems to be fixed in current package mix....