View previous topic :: View next topic |
Author |
Message |
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Sun Sep 15, 2002 5:20 pm Post subject: /bin/sh: c++: command not found |
|
|
i'm rebuilding world w/ gcc32. When energing xfree-4.2.0-r12 it fails with "/bin/sh: c++: command not found ". i have
Code: | CC="gcc-3.2"
CXX="g++-3.2" |
in /etc/make.conf. what do i do? |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Mon Sep 16, 2002 4:31 pm Post subject: |
|
|
i guess i need to set it in the same place as cc (which works) where do i do that?
oh, i just noticed cc i still set to gcc295 i need to fix that too. |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Sep 16, 2002 7:01 pm Post subject: |
|
|
Some ebuilds respect CC and CXX, others don't. It looks like xfree might be one of those that you would have to hack, and it's probably a very hard one. You seem to have two compilers installed side-by-side; is this what you want, or do you want only GCC 3.2 on your system? _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Mon Sep 16, 2002 7:36 pm Post subject: |
|
|
only gcc3 would be ideal (i guess, if it doesn't work, i can always go back, right?) How do i do that? |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Sep 16, 2002 8:06 pm Post subject: |
|
|
I assume you've been following the big GCC 3.2 upgrade thread. A link to some scripts by carpaski were posted to that thread that try to automate the complexity of upgrading in place. It doesn't appear to be a simple matter, because the presence of certain C++ libraries will confuse things.
What I did when upgrading from GCC 3.1 to 3.2 was to bootstrap and install a clean 3.2 system on a new partition in a chroot. When it was ready, I moved critical files like /home and some things from /etc over there. _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Mon Sep 16, 2002 8:32 pm Post subject: |
|
|
*runs*
That's pretty complicated.
What about leaving both compilers on there.
If i type cc -v at aconsole it says gcc 2.95
if i type c++ at a console it says command not found.
Don't i just need to update those? |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Sep 16, 2002 9:04 pm Post subject: |
|
|
gsfgf wrote: | What about leaving both compilers on there.
If i type cc -v at aconsole it says gcc 2.95
if i type c++ at a console it says command not found. |
That's strange. I have /usr/bin/c++ and /usr/bin/g++ hardlinked to the same file on the 2.95.3 machine I have left. Do you have /usr/bin/g++? If so, you could use ln to link it to /usr/bin/c++ (not a symlink, a hard link). Otherwise, can you restore the /usr/bin/c++ executable from a binary package of gcc 2.95.3 or a stage tarball?
Quote: | Don't i just need to update those? |
By "update", do you mean "change to the 3.2 versions"? No, there is a big supporting cast of files in /usr/lib/ that actually form the bulk of GCC, and the C++ compilers are not compatible between 2.95.3 and 3.2. As I understand it (I didn't want to deal with the experience firsthand, which is why I installed 3.2 on a separate partition), there are critical timing issues as to when the 2.95.3 C++ libraries should and shouldn't be present on the system. _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Mon Sep 16, 2002 9:10 pm Post subject: |
|
|
If i dl a 1.4 beta tarball, extract that to /, bootstrap and emege -e world, will that upgrade me to gcc32 correctly?
Extractiong a tarball to / works fine for restring a fubared sys (like when i unmerged gcc) but would it overwrite all the gcc stuff? |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Sep 16, 2002 9:16 pm Post subject: |
|
|
gsfgf wrote: | If i dl a 1.4 beta tarball, extract that to /, bootstrap and emege -e world, will that upgrade me to gcc32 correctly?
Extractiong a tarball to / works fine for restring a fubared sys (like when i unmerged gcc) but would it overwrite all the gcc stuff? |
Not quite. It will overwrite lots of the gcc stuff, but some of the old gcc 2.95.3 libraries would still be hanging around and will probably cause you problems. Is there any way you can get important stuff safely off of this root partition somewhere else and wipe it before unpacking a 1.4 tarball across it? _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Mon Sep 16, 2002 9:21 pm Post subject: |
|
|
not really.
What gcc2 stuff will be left over? I can nuke that stuff before i start if i ned to.
I'm gonna try just installing over and seeing what happens. If it dies, i'll see if i can nuke the problem files first. (most inportant stuff in in /Downloads, so it wouldn't bee too bad to wipe th rest, but emege -e world is much easier thatn manually having to reemerge everything |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Sep 16, 2002 9:33 pm Post subject: |
|
|
gsfgf wrote: | What gcc2 stuff will be left over? I can nuke that stuff before i start if i ned to. |
I would try asking this question in that GCC 3.2 upgrade thread. Maybe someone in there has done this same thing before.
Quote: | (most inportant stuff in in /Downloads, so it wouldn't bee too bad to wipe th rest, but emege -e world is much easier thatn manually having to reemerge everything |
I've read postings in the upgrade thread that suggest that upgrading is more complicated than just "emerge -e world". How about if you stashed your world file (and /etc/, and whatever else you really wanted to keep) inside /Downloads, and wiped everything else, unpacked the tarball, bootstrapped, emerged system, and then copied your old world file back to /var/cache/edb world and tried "emerge world"? At some point, you would probably want to merge your old /etc and the new one that gets made for you. _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
|