Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 171999 - gcc-config adds crossdev entries to the list of options
Summary: gcc-config adds crossdev entries to the list of options
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-24 02:34 UTC by Dan
Modified: 2007-03-24 21:23 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 Dan 2007-03-24 02:34:35 UTC
I upgraded gcc today from gcc-4.1.1 to gcc-4.1.2.  After doing this I got all sorts of crazy build errors:

/usr/qt/3/lib/libqt-mt.so: undefined reference to `__cxa_guard_acquire@CXXABI_1.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `operator delete(void*)@GLIBCXX_3.4'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info@CXXABI_1.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `operator delete[](void*)@GLIBCXX_3.4'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `operator new(unsigned long)@GLIBCXX_3.4'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info@CXXABI_1.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `__cxa_pure_virtual@CXXABI_1.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `vtable for __cxxabiv1::__class_type_info@CXXABI_1.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `operator new[](unsigned long)@GLIBCXX_3.4'
/usr/qt/3/lib/libqt-mt.so: undefined reference to `__cxa_guard_release@CXXABI_1.3'
collect2: ld returned 1 exit status
gmake[2]: *** [../../bin/doxywizard] Error 1
gmake[2]: Leaving directory `/var/tmp/portage/portage/app-doc/doxygen-1.5.1/work/doxygen-1.5.1/addon/doxywizard'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/portage/app-doc/doxygen-1.5.1/work/doxygen-1.5.1/addon/doxywizard'
make: *** [all] Error 2

After doing some checking, I found that gcc-config showed crossdev-i686-linux-gnu/gcc-4.1.1-r1 as my active compiler when it should have shown X86_64-pc-linux-gnu-4.1.2 as the compiler.  This (obviously) broke things as shown above...

Why would crossdev entries be considdered valid entries for gcc-config?
Comment 1 Dan 2007-03-24 02:38:42 UTC
Portage 2.1.2.2 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r1, 2.6.20-viper4-20070226 x86_64)
=================================================================
System uname: 2.6.20-viper4-20070226 x86_64 Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
Gentoo Base System release 1.13.0_alpha12
Timestamp of tree: Thu, 22 Mar 2007 16:50:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17.50.0.13
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/var/portage/distfiles"
FEATURES="autoconfig ccache distlocks parallel-fetch sandbox sfperms strict userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com http://gentoo.mirrors.tds.net/gentoo http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
MAKEOPTS="-j4"
PKGDIR="/var/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-* --prune-empty-dirs"
PORTAGE_TMPDIR="/var/tmp/portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /home/hydrogen/flameeyes /usr/local/custom_kernels"
SYNC="rsync://192.168.0.1/gentoo-portage"
USE="X alsa amd64 arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups curl dbus dri dvd dvdr eds emboss encode esd fam firefox fortran gdbm gif gpm gstreamer gtk2 hal iconv ipv6 isdnlog jpeg kde kdeenablefinal kdehiddenvisibility libg++ mad midi mikmod mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis xcb xinerama xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv vesa"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 SpanKY gentoo-dev 2007-03-24 09:13:13 UTC
gcc-config allows for one active version per target
Comment 3 Dan 2007-03-24 15:15:33 UTC
How is it invalid that gcc-config starts compiling things with a version of gcc built for a different chost than what I have?  It seems like a horribly dangerous idea.
Comment 4 Kevin F. Quinn (RETIRED) gentoo-dev 2007-03-24 16:03:41 UTC
Dan, your analysis of the problem is almost certainly incorrect.

You need to post (attach) the full build log (not just the tail of the errors - it's difficult to tell what's going wrong if you don't include the command that failed).  Do 'emerge <package> 2>&1 > log' if you don't have logging enabled.

What does 'gcc -v' show?

Comment 5 Dan 2007-03-24 16:26:52 UTC
Unfortunatly I already "solved" this by unmerging my cross-i686 toolchain and rebuilt world so I do not have the error.  I'm not sure if I analyzed it wrong (it wouldn't be the first time!) but it seemed like the natural assumption as the gcc upgrade was gcc-4.1.1 to 4.1.2.. so it shouldn't have broken abi, and when I ran gcc-config after it showed cross-i686/gcc-4.1.1 as my active compiler.  

The only other thing I can think of that may have.. though I don't know why it would have.. broke it was while gcc was being merged to the live system I was compiling something outside of portage, would that have messed up the merge?
Comment 6 Kevin F. Quinn (RETIRED) gentoo-dev 2007-03-24 17:18:36 UTC
OK; if you no longer have the error, it's too late to analyse it now.
Closing again - re-open if the problem recurs.
Comment 7 SpanKY gentoo-dev 2007-03-24 21:23:12 UTC
as i said, you can have more than 1 version of gcc active ... in fact, you can one active version per target