Richard Holloway's answer to this thread nicely explains how to upgrade from 4.6.3 to 4.7.0 (on 12.04, in my case) but I would like to upgrade to 4.7.1, which has been available for awhile. However there is no package g++-4.7.1 and I don't know otherwise how to do it, does anyone else?
- 173
- 1
- 2
- 11
-
[How to install and use GCC g++ v4.7 and C++11 on Ubuntu 12.04](http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/). – iammilind Apr 22 '13 at 03:06
-
@lammilind Does this install 4.7.1? Looks like it's 4.7.0 instructions. – Matt Phillips Apr 22 '13 at 15:58
-
@MattPhllips, now better to install 4.8.0. Above link illustrates the process. You should change the version number according to need. – iammilind Apr 23 '13 at 03:07
2 Answers
Wow, this was excruciating. Here's how I did it (NB, for a 32-bit system):
$sudo apt-get install gcc-multilib
$sudo apt-get install m4
Download mpfr, configure, make, make install
Download gmp, configure, make, make install
Download mpc, configure, make, make install
In order to compensate for insufficient path information, added this to .bashrc
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/i386-linux-gnu export
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu export
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu
the former I got from here and the latter from here, modified appropriately for my install locations.
.7. Add these symlinks for the same reason:
$sudo ln -s /usr/include/i386-linux-gnu/gnu/stubs-32.h /usr/include/gnu
$sudo ln -s /usr/lib/i386-linux-gnu/crti.o /usr/lib/crti.o
$sudo ln -s /usr/lib/i386-linux-gnu/crt1.o /usr/lib/crt1.o
$sudo ln -s /usr/lib/i386-linux-gnu/crtn.o /usr/lib/crtn.o
$sudo ln -s /usr/local/lib/libmpc.so.3 /usr/lib/libmpc.so.3
.8. Download g++-4.7.1, configure, make, make install
- 173
- 1
- 2
- 11
Try to compile g++-4.7.1
List of mirrors:
http://gcc.gnu.org/mirrors.html
Select mirror, click releases and search for gcc-4.7.1.
Download source, and compile.
- 2,010
- 2
- 19
- 32
-
Thanks, working on it--looks like there's a lot of dependencies to wade through first so it might be awhile. – Matt Phillips Jul 27 '12 at 18:29
-
Well, after installing gmp, mpc, and mpfr as well as gcc-multilib (to get rid of an error arising because the compiler couldn't find `bits/predefs.h`), now the compiler can't find `gnu/stubs-32.h`. The weird thing is that this seems to be a problem when compiling in 32 bit mode on a 64-bit system--however I'm doing this on a 32-bit laptop. `apt-file` says this is part of the `libc6-dev` package, but I already have the newest version installed... – Matt Phillips Jul 27 '12 at 20:07