Bug 63973 - gcc-config confused if profile in /etc/env.d/gcc/config doesn't exist
Bug#: 63973 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: All Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: toolchain@gentoo.org Reported By: swtaylor@gentoo.org
Component: Ebuilds
URL: 
Summary: gcc-config confused if profile in /etc/env.d/gcc/config doesn't exist
Keywords:  
Status Whiteboard: 
Opened: 2004-09-14 02:06 0000
Description:   Opened: 2004-09-14 02:06 0000
While it appears the gcc 3.4.2 ebuild somehow misses updating the file 
/etc/env.d/gcc/config, this exposes a quirk of gcc-config saying no profile
exists, if this 'config' file doesn't point to a profile that exists.


ThinkPad gcc # gcc-config --version
gcc-config-1.3.6
ThinkPad gcc # gcc-config -l
 * /usr/bin/gcc-config: Profile does not exist!
ThinkPad gcc # cat config
CURRENT=i386-pc-linux-gnu-3.4.1
ThinkPad gcc # ls
config  i386-pc-linux-gnu-3.3.4  i386-pc-linux-gnu-3.4.2
ThinkPad gcc # vi config
"config" 1L, 32C written
ThinkPad gcc # cat config
CURRENT=i386-pc-linux-gnu-3.4.2
ThinkPad gcc # gcc-config -l
[1] i386-pc-linux-gnu-3.3.4
[2] i386-pc-linux-gnu-3.4.2
ThinkPad gcc #emerge -pv gcc-config
[ebuild   R   ] sys-devel/gcc-config-1.3.6-r1

------- Comment #1 From solar 2004-09-14 09:15:31 0000 -------
Travvis 
 This is the same problem that I pointed out to you that happened to me.

------- Comment #2 From Travis Tilley (RETIRED) 2004-09-14 10:59:42 0000 -------
the slot for 3.4.2 was broken. i've fixed it... but still, this is also a bug
in gcc-config.

------- Comment #3 From solar 2004-09-14 11:03:45 0000 -------
How is this a bug in gcc-config?

------- Comment #4 From Scott Taylor (RETIRED) 2004-09-14 11:18:50 0000 -------
running "gcc-config -l" should list the available profiles, and allow you to
set
a profile, even if {disk error, human error, backup process, etc} has a
"config"
file that doesn't point to an existing profile. Might even be good for
gcc-config
to automatically at least pick and set one, or the closest match or something
if
the profile in "config" doesn't exist... rather than saying "Profile does not
exist". Because as you can see, there ARE two profiles that DO exist. And at
that
point in time, someone is probably trying to run gcc-config in hopes of fixing
the
dreaded "gcc can not compile anything" issue (since it cant be found) and the
last
thing someone needs to hear is that they have no gcc profile when they really
do.

------- Comment #5 From solar 2004-09-14 12:45:29 0000 -------
Created an attachment (id=39597) [details]
gcc-config-1.3.6.diff

Scott please see if you can find any bugs in the behavior of this patch for
gcc-config.

------- Comment #6 From solar 2004-09-14 12:47:41 0000 -------
uCpie busybox # gcc-config -l
 * /usr/bin/gcc-config: Profile does not exist or invalid setting in current config i386-pc-linux-uclibc-3.4.24096u094376094576097u437096
[1] i386-pc-linux-uclibc-3.3.4
[2] i386-pc-linux-uclibc-3.4.2
uCpie busybox # gcc-config 2 
 * Switching to i386-pc-linux-uclibc-3.4.2 compiler...                                                                                                [ ok ]
 * If you intend to use the gcc from the new profile in an already
 * running shell, please remember to do:

 *   # source /etc/profile


------- Comment #7 From Travis Tilley (RETIRED) 2004-09-26 21:38:22 0000 -------
...is this patch in cvs yet?

------- Comment #8 From solar 2004-09-28 15:02:25 0000 -------
Nope. still waiting on some feedback. It's become a blocker for another bug. 
Surely somebody can test it other than me.

------- Comment #9 From Richard Morris 2004-09-30 00:15:28 0000 -------
Your patch fixed the problems I was having with lots of programs failing to
start after they reported that libstdc++.so.6 was missing including firefox,
man etc. 

------- Comment #10 From Travis Tilley (RETIRED) 2004-10-02 05:25:39 0000 -------
fixed in cvs, give it some time to reach rsync.