Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The latest version of GCC in the Precise archives is 4.6.3. However, GCC 4.7 adds support for some newer C++11 features (like delegating constructors). Quantal's package archives have GCC 4.7.2 available.

Is there any way I can get GCC 4.7 installed on Precise? Better yet, is there an easy way to take a newer version of a package in one release and backport it to an older release?

share|improve this question
up vote 13 down vote accepted

I have created a PPA that contains a build of GCC 4.7 for Precise here:

ppa:george-edison55/gcc4.7-precise Launchpad logo (Click here for instructions on using PPAs.)

To backport a package from one release to another is a relatively simple process assuming you have a Launchpad account and have registered your GPG key there.

Make sure you have the ubuntu-dev-tools Install ubuntu-dev-tools package installed:

sudo apt-get install ubuntu-dev-tools

The syntax for running the backport command looks something like this:

backportpackage -s [new_release] -d [old_release] -u [ppa] [package_name]

The command above will backport [package_name] from [new_release] to [old_release]and upload it to [ppa]. Note that in this particular case you will need to backport not only gcc-4.7 but also gcj-4.7 and gcc-defaults in that order.

share|improve this answer
hard to believe it's that easy \0/ – Tshepang Feb 15 '13 at 6:31

A slightly more easy way is to just utilize the Ubuntu Toolchain Uploaders (Restricted) Team's PPA of test builds, which has Toolchain builds (this includes gcc, etc.) of newer toolchains in older releases. The above link shows the Precise packages there but they do compile things.

The releases available include gcc 4.7, 4.8, 4.9, and 5, although I've only tested 4.7.

You can always backport your own gcc packages and such, but that can always take time.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.