13

I am trying to install the latest version of g++ in Cent OS. The best I managed is the following:

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

But this installs g++ 4.8.2 and not 4.9.2. Is there a way to install 4.9.2?

0

3 Answers 3

4

You will have to do it the old fashioned way. Get the GCC sources, build it by hand.

Any reason you are averse to doing this? (I can think of a few, but unless you do too, I don't want to add anything that might be confusing).

If you are hesitant to build from sources, I can probably provide some steps.

NOTE: The reason for that is the devtools with 4.9 is currently only available to Red Hat users with a valid license. Wait for a while, and eventually I am sure 4.9 devtools will be made available to CentOS users too like 4.8 is currently.

1
28

CentOS 6/7 officially supports this. You don't need third party repository. And gcc version is 4.9.2 in CentOS's repo.

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

To use the updated tools, start a new shell using the scl command:

scl enable devtoolset-3 bash

You may also need to reset your PATH environment variable, which might be set in ~/.bashrc or other profile file. If you need to change it, it should point to /opt/rh/devtoolset-3/root/usr/bin/:$PATH

More information on the SCL from CentOS and from Red Hat

4
  • This didn't work for me. After those 3 steps completed seemingly successful, I still see gcc 4.7.2 when i do gcc -v
    – B T
    Mar 7, 2017 at 8:23
  • Ok, in addition to these steps, I had to change my .bashrc file so that my PATH environment variable was set to /opt/rh/devtoolset-3/root/usr/bin/:$PATH rather than /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Then after a session restart it worked.
    – B T
    Mar 7, 2017 at 8:35
  • After using this solution I see that the gcc version really updated (using gcc --version), but I still see the header files from the old version. Moreover, I cannot find most of the newer headers in the directory I expected them to be (/opt/rh/devtoolset-3/root/usr/include/). Why can this happen and how can I solve it?
    – MaMazav
    Jun 12, 2017 at 10:48
  • To make this answer stand the test of time, add yum search devtoolset | grep gcc-c++ to reveal the correct number instead of 3 as in the answer
    – Waslap
    Apr 11, 2019 at 9:42
14

I use Scientific Linux Cern 6 repository to install gcc 4.9 and g++ 4.9 on my CentOS 6.5 and CentOS 6.6 systems. It does not install g++ 4.9.2. It installs g++ 4.9.1 instead which is good enough for my needs.

Here are the commands I use to install it.

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

As Michael said in his comment to this post, to actually use the version of gcc that this installs, start a new shell with the following command.

scl enable devtoolset-3 bash
3
  • 1
    To actually use the version of gcc that this installs, start a new shell using scl enable devtoolset-3 bash
    – Michael
    Oct 9, 2015 at 8:55
  • @Michael Thank you for mentioning this. I have included your comment in my answer now to make the answer more helpful.
    – Susam Pal
    Oct 9, 2015 at 12:29
  • Also didn't work for me. Same as for Jesse's answer
    – B T
    Mar 7, 2017 at 8:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .