How to install GCC on CentOS 7

How To Install GCC on CentOS 7

Spread the love

yum install gcc

In this tutorial, we will take a look at how to install GCC on CentOS 7. GCC or GNU Compiler Collection is released by the Free Software Foundation and as the name suggests, it is a very useful collection of programming compilers such as C, C++, Objective-C, Objective-C++, Fortran, Java, Go and Ada. GCC is an official compiler of the GNU operating system but also it is a standard compiler on many Unix operating systems such as Linux. Installing GCC on CentOS 7, is really an easy task and it shouldn’t take more than 10 minutes.

1. Update the server

First of all log in to your CentOS 7 VPS via SSH as user root

ssh root@IP_Address -p Port_number

and make sure that all installed packages on the server are up to date

yum -y update

2. Install GCC from repository

GCC can be easily installed from the official CentOS repositories. Run the following command to install GCC on your server

yum -y install gcc

Once the installation is completed, you can the version of GCC installed on your server

gcc --version

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

As might be seen from the output, the GCC version distributed by CentOS 7 is 4.8.5 which is not the latest version of GCC.

You may also want to install gcc-c++. It will automatically include the C++ library and compile files with extensions that indicate they are C source as C++, instead of as C.

yum -y install gcc-c++

3. Install GCC from source

If you need a newer version of GCC than the one distributed by the official CentOS 7 repositories you can install it from source.

It is highly recommended to start a screen session before starting the installation. Run the following command

screen -U -S gcc

Download the tarball of the GCC version you want to install. In our example we will use GCC version 7.3.0

wget http://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.gz

Unpack the tar archive and change the current working directory

tar zxf gcc-7.3.0.tar.gz
cd gcc-7.3.0

Install bzip2 and run the ‘download_prerequisites’ script to download some prerequisites needed by GCC. You have to run this from the top level of the GCC source tree.

yum -y install bzip2
./contrib/download_prerequisites

Once the prerequisites are downloaded execute the following command to start configuring the GCC build environment

./configure --disable-multilib --enable-languages=c,c++

Once it is completed, run the following command to compile the source code. It may take a few hours for the compilation to complete, so sit back and relax.

make -j 4
make install

4. Verify GCC installation on CentOS 7

After the compilation process is completed. You can check if GCC is properly installed.

gcc --version

gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

install gcc linuxOf course, you don’t have to install GCC on CentOS 7,  if you use one of our outsourced server support services, in which case you can simply ask our expert Linux admins to install GCC on your CentOS 7 server for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post, on how to install GCC on CentOS 7,  please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

20 thoughts on “How To Install GCC on CentOS 7

  1. Hi,
    I’m new to linux and i’m trying to understand it better, can you please detail this line: “ssh root@IP_Address -p Port_number

    What is IP_address, where do i find it, and what is Port_number and where do i find it, if you could provide an answer it would be awesome.

    Thanks in advance!

    1. This command is used to establish an SSH connection to a remote server. If you are doing this installation on your local computer, you can skip this part.

      The IP address is a unique numerical number assigned to every device connected to the Internet. The Port_number in this command refers to the port number of the SSH service which is running on your server. Usually, the default SSH port is set to 22.

      If you are not sure about the IP address and the SSH port number of your server you should contact your hosting provider and ask them for this information.

  2. On centos 7 I have installed ccg 7.3.0:
    #gcc –version
    gcc (GCC) 7.3.0
    Copyright (C) 2017 Free Software Foundation, Inc.

    however, gfortran version is 4
    # gfortran –version
    GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)

    I really need gfortran 6 o newer for some application

    please help me, I had tried many things and they didn’t work.

    1. You can install GNU Fortran using yum, RPM package or build it from source. Please check the official documentation for installation instructions.

  3. Hi, I’m not used to Linux much, but can you tell me why “It is highly recommended to start a screen session before starting the installation.” on Section 3? Thank you.

  4. This is because processes running in a screen session will continue to run even if the window is closed or you get disconnected.

  5. I followed your steps step by step but at the end there was an error.
    make install
    make[1]: Entering directory `/root/gcc-7.3.0′
    /bin/sh ./mkinstalldirs /usr/local /usr/local
    make[2]: Entering directory `/root/gcc-7.3.0/host-x86_64-pc-linux-gnu/fixincludes’
    make[2]: *** No rule to make target `install’. Stop.
    make[2]: Leaving directory `/root/gcc-7.3.0/host-x86_64-pc-linux-gnu/fixincludes’
    make[1]: *** [install-fixincludes] Error 2
    make[1]: Leaving directory `/root/gcc-7.3.0′
    make: *** [install] Error 2

  6. I followed your steps, and things seemed to go as expected, except there is a discrepancy between the version reported by gcc –version, which is 5.5.0 (the release I need for my client) and g++ -v, which reports 4.8.5. How do I make it so g++ links to the same compiler installation?

    1. The latest gcc and g++ version distributed by CentOS 7 is 4.8.5. If you would like to install a different version you would have to install it from source.

  7. I need a newer libm.so.6 … but after compilation those are not created …. do I have to use another make command to do that?

      1. Not true, you can build it locally without having root or sudo access just fine.
        You can use:

        ./configure –prefix=/home/user/your/repo
        make PREFIX=/home/user/your/repo install

  8. Just an extremely minor thing. Before point 4, you might consider advising the user to reload files from the path again. Otherwise older version of gcc appears on invocation at that step.

  9. I followed your steps step by step but on the step
    make install


    echo GTFILES_LANG_H=gtype-ada.h gtype-c.h gtype-cp.h gtype-fortran.h gtype-go.h gtype-java.h gtype-jit.h gtype-lto.h gtype-objc.h gtype-objcp.h >> tmp-header-vars; \
    /bin/sh ../.././gcc/../move-if-change tmp-header-vars b-header-vars
    /bin/sh: tmp-header-vars: Permission denied

    /bin/sh: tmp-header-vars: Permission denied
    mv: cannot stat ‘tmp-header-vars’: No such file or directory
    make[2]: *** [s-header-vars] Error 1

    not sure how to proceed

Leave a Reply

Your email address will not be published. Required fields are marked *