View previous topic :: View next topic |
Author |
Message |
cornice n00b
Joined: 22 Oct 2002 Posts: 8 Location: Salt Lake City, UT
|
Posted: Mon Jun 16, 2003 3:18 am Post subject: C compiler cannot create executables |
|
|
I know that questions similar to this have been posted but I'm wondering if there might be a better solution than reinstalling. Here's what happened.
First I ran a stable system with #accept_keywords="~x86". Then after an update something broke and in an act of desperation switched to accept_keywords="~x86" and upgraded some packages. I never did an emerge -u world so I figured that pretty soon the stable packages would catch up to me and I would switch back to #accept_keywords="~x86". That never seemed to happen and I ended up with more and more unstable packages just to stay ahead of the security fixes. Then I started to have troubles with some updates. More of the unstable ebuilds were failing to compile. Since the system in question is rather important to me I figured I should return to a more stable position of #accept_keywords="~x86".
I think you can guess the rest.
Any thoughts on what I can do to get out of this without starting over? Some programs work fine and some do not so I think I have one version of libC and GCC compiled for something else. It seems as though the programs that work were compiled a while ago and the ones that don't were recent unstable compiles.
Any help would be greatly appreciated. After searching the forums database I have found that people with slightly similar problems fixed this by copying the /usr dirctory from the stage 3 CD while others simply started over. I would like to find a better solution if possible but I suppose a reinstall isn't so bad. At least it's Gentoo.
Cheers,
Scott |
|
Back to top |
|
|
Pythonhead Developer
Joined: 16 Dec 2002 Posts: 1801 Location: Redondo Beach, Republic of Calif.
|
Posted: Mon Jun 16, 2003 4:20 am Post subject: Re: C compiler cannot create executables |
|
|
cornice wrote: |
Some programs work fine and some do not so I think I have one version of libC and GCC compiled for something else. It seems as though the programs that work were compiled a while ago and the ones that don't were recent unstable compiles.
|
I think that is a good start. What version of gcc and glibc are you using? |
|
Back to top |
|
|
cornice n00b
Joined: 22 Oct 2002 Posts: 8 Location: Salt Lake City, UT
|
Posted: Mon Jun 16, 2003 10:25 am Post subject: |
|
|
GCC = 3.2.2
GLibC = 2.3.1-r4
I get a lot of messages like this:
libpthread.so.0: version 'GLIBC_2.3.2' not found
I'm wondering if there is a way to copy the necessary files to get GCC working (either manually or with a binary ebuild) and then do an emerge -e world. I just don't know exactly where to start when copying files. I have a stage 3 tarball and another gentoo system running 3.2.2-r2 and 2.3.2-r1 to copy from though.
I guess I can do a make install on the other box and watch what goes where and then copy by hand from the stage 3 tarball. Then again I'm not sure what might break in the middle of that process if anything. I suppose booting from CD would be wise.
Any thoughts?
Thanks! |
|
Back to top |
|
|
Pythonhead Developer
Joined: 16 Dec 2002 Posts: 1801 Location: Redondo Beach, Republic of Calif.
|
Posted: Mon Jun 16, 2003 11:25 pm Post subject: |
|
|
I don't know of any easy way to fix your problem. I see a lot of these messages, where people blindly update world and screw up their gcc/glibc. Maybe portage should PRINT A BIG WARNING on gcc/glibc upgrades, or not let people do it with emerge world.
Anyways, I think you're stuck at re-emerging everything you emerged during your ~x86 period, i.e. anything that gives this type of message:
Quote: |
libpthread.so.0: version 'GLIBC_2.3.2' not found |
|
|
Back to top |
|
|
cornice n00b
Joined: 22 Oct 2002 Posts: 8 Location: Salt Lake City, UT
|
Posted: Tue Jun 17, 2003 2:04 am Post subject: |
|
|
Quote: | Maybe portage should PRINT A BIG WARNING on gcc/glibc upgrades, or not let people do it with emerge world. |
What would that warning say? Is there a good rule of thumb for keeping glibc and gcc in sync? I have done emerge -ud world for a while now. I do use -p first to see what's going to be done but the process of simply keeping up to date seems pretty smooth. My issue I think stems from the fact that I went backwards (unstable -> stable) and I don't think the dependancies were correct for doing that. Live and learn I guess...
Quote: | Anyways, I think you're stuck at re-emerging everything you emerged during your ~x86 period, i.e. anything that gives this type of message. |
Unfortunately it's getting to the point where I can emerge anything that I'm having trouble with. I was all set to go to bed after issueing an update world when I found that gcc and glibc were out of sync. GCC happens to be one of the programs that depends on the newer glibc. If I could somehow simply emerge a working GCC I would be all set but I don't see an easy way to do that.
Thanks for the help. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9527 Location: beyond the rim
|
Posted: Tue Jun 17, 2003 9:57 am Post subject: |
|
|
A tip for future experiments like this: put buildpkg in your FEATURES varaible in make.conf or use the -b option for emerge. That way you generate binary packages of all installed programs, they can really help in such situations.
Last edited by Genone on Tue Jun 17, 2003 12:37 pm; edited 1 time in total |
|
Back to top |
|
|
cornice n00b
Joined: 22 Oct 2002 Posts: 8 Location: Salt Lake City, UT
|
Posted: Tue Jun 17, 2003 11:07 am Post subject: |
|
|
Quote: | A tip for future experiments like this: put buildpkg in your FEATURES varaible in make.conf or use the --b option for emerge. That way you generate binary packages of all installed programs, they can really help in such situations. |
Great tip. Thanks! |
|
Back to top |
|
|
|