gcc-config fails to switch between gcc 3.3.2 and gcc 3.3.3. No matter which profile I select I always get the 3.3.2 gcc. Reproducible: Always Steps to Reproduce: 1. gcc-config i686-pc-linux-gnu-3.3.3 2. env-update && source /etc/profile 3. gcc --version Actual Results: 1. * Switching to i686-pc-linux-gnu-3.3.3 compiler... [ok] 2. * Caching service dependencies... 3. gcc (GCC) 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7) Expected Results: Step 3. gcc --version should report version 3.3.3 nurtsi 3.3 # gcc-config -l [1] i686-pc-linux-gnu-3.3.2 [2] i686-pc-linux-gnu-3.3.3 nurtsi 3.3 # gcc-config i686-pc-linux-gnu-3.3.3 * Switching to i686-pc-linux-gnu-3.3.3 compiler... [ ok ] nurtsi 3.3 # env-update && source /etc/profile * Caching service dependencies... nurtsi 3.3 # gcc-config -c i686-pc-linux-gnu-3.3.3 nurtsi 3.3 # gcc-config -B /usr/i686-pc-linux-gnu/gcc-bin/3.3 nurtsi 3.3 # gcc --version gcc (GCC) 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. nurtsi 3.3 # cd /usr/i686-pc-linux-gnu/gcc-bin/3.3/ nurtsi 3.3 # ls -l i686-pc-linux-gnu-gcc* lrwxrwxrwx 1 root root 3 Aug 10 13:13 i686-pc-linux-gnu-gcc -> gcc lrwxrwxrwx 1 root root 3 Aug 10 13:13 i686-pc-linux-gnu-gcc-3.3.2 -> gcc lrwxrwxrwx 1 root root 3 Jul 6 23:50 i686-pc-linux-gnu-gcc-3.3.3 -> gcc nurtsi 3.3 # ls -l gcc -rwxr-xr-x 1 root root 86620 Aug 10 13:13 gcc nurtsi 3.3 # ./gcc --version gcc (GCC) 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Should the links point to different binary files?
I don't think it's designed to switch between minor versions like that.
I think azarah is the exclusive maintainer of gcc-config reassinging bug to him.
i was installing gentoo 2004.2 stage1 and bootstrap use gcc 3.3.3 but fails to compile! The last lines are: else true; fi /var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/xgcc -B/var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -c -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -O2 -I. -I/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/../include -W -Wall -Wtraditional -pedantic /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/xstrdup.c -o xstrdup.o if [ x"-fpic" != x ]; then \ /var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/xgcc -B/var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -c -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -O2 -I. -I/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/../include -W -Wall -Wtraditional -pedantic -fpic /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/xstrerror.c -o pic/xstrerror.o; \ else true; fi /var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/xgcc -B/var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -c -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -O2 -I. -I/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/../include -W -Wall -Wtraditional -pedantic /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/xstrerror.c -o xstrerror.o if [ x"-fpic" != x ]; then \ /var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/xgcc -B/var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -c -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -O2 -I. -I/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/../include -W -Wall -Wtraditional -pedantic -fpic /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/mkstemps.c -o pic/mkstemps.o; \ else true; fi /var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/xgcc -B/var/tmp/portage/gcc-3.3.3-r6/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -c -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -O2 -I. -I/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/../include -W -Wall -Wtraditional -pedantic /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/libiberty/mkstemps.c -o mkstemps.o rm -f libiberty.a pic/libiberty.a ar rc libiberty.a \ regex.o cplus-dem.o cp-demangle.o md5.o alloca.o argv.o choose-temp.o concat.o dyn-string.o fdmatch.o fibheap.o floatformat.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o physmem.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o ternary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o mkstemps.o ranlib libiberty.a if [ x"-fpic" != x ]; then \ cd pic; \ ar rc libiberty.a \ regex.o cplus-dem.o cp-demangle.o md5.o alloca.o argv.o choose-temp.o concat.o dyn-string.o fdmatch.o fibheap.o floatformat.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o physmem.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o ternary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o mkstemps.o; \ ranlib libiberty.a; \ cd ..; \ else true; fi rm -f needed-list; touch needed-list; \ for f in atexit calloc memchr memcmp memcpy memmove memset rename strchr strerror strncmp strrchr strstr strtol strtoul tmpnam vfprintf vprintf vfork waitpid bcmp bcopy bzero; do \ for g in mkstemps.o ; do \ case "$g" in \ *$f*) echo $g >> needed-list ;; \ esac; \ done; \ done echo regex.o cplus-dem.o cp-demangle.o md5.o alloca.o argv.o choose-temp.o concat.o dyn-string.o fdmatch.o fibheap.o floatformat.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o physmem.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o ternary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o > required-list make[3]: Entering directory `/var/tmp/portage/gcc-3.3.3-r6/work/build/i686-pc-linux-gnu/libiberty/testsuite' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gcc-3.3.3-r6/work/build/i686-pc-linux-gnu/libiberty/testsuite' make[2]: Leaving directory `/var/tmp/portage/gcc-3.3.3-r6/work/build/i686-pc-linux-gnu/libiberty' /bin/sh: -c: line 1: unexpected EOF while looking for matching `}' /bin/sh: -c: line 2: syntax error: unexpected end of file make[1]: *** [configure-target-libstdc++-v3] Error 2 make[1]: Leaving directory `/var/tmp/portage/gcc-3.3.3-r6/work/build' make: *** [bootstrap-lean] Error 2 !!! ERROR: sys-devel/gcc-3.3.3-r6 failed. !!! Function src_compile, Line 568, Exitcode 2 !!! (no error message)
gcc-3.3.3 and gcc-3.3.2 cannot be installed at the same time looks like you merged 3.3.2 over 3.3.3 and that's why gcc always reports 3.3.2