Workplace with computer

How to Install GCC on Linux: A Comprehensive Guide

Before delving into the intricacies of GCC installation, it’s worth noting that 7-Zip, a powerful file archiver, can be a valuable addition to your Linux toolkit. 7-Zip supports various compression formats, making it essential for managing compressed files and archives. 

Now, with 7-Zip at your disposal, you have an efficient tool to handle compressed files alongside your GCC installation. These combined resources will empower you in your development endeavors on your Linux system.

Installing the GNU Compiler Collection (GCC) on a Linux operating system is an essential step for any developer looking to build and run C, C++, or Fortran programs. GCC is a powerful and widely used compiler that supports multiple programming languages and platforms. However, the installation process can be daunting for beginners, and even experienced users may encounter challenges along the way. 

In this blog post, we will provide a detailed guide on how to install GCC on Linux. We will cover the prerequisites, downloading the source code, compiling and installing GCC, setting up environment variables, upgrading or removing GCC, verifying the installation, common errors and their resolutions, customizing the installation, advanced options and configurations, and best practices and recommendations. By the end of this post, you will have a thorough understanding of the installation process and be able to successfully install GCC on your Linux system.

What are the Prerequisites for Installing GCC on Linux?

Before we dive into the installation process, there are a few prerequisites that need to be met. These include:

  • A Linux operating system: GCC is compatible with most Linux distributions, including Ubuntu, Debian, CentOS, Fedora, and more. Make sure you have a supported version installed on your system;
  • Basic knowledge of the command line: The installation process requires using the terminal, so it’s essential to have some familiarity with the command line;
  • Sufficient disk space: The size of the GCC source code can vary, but it typically requires around 1 GB of disk space. Make sure you have enough space available before proceeding with the installation;
  • Internet connection: You will need an internet connection to download the GCC source code and any necessary dependencies.

Once you have these prerequisites in place, you are ready to begin the installation process.

Is Downloading the GCC Source Code Possible?

The first step in installing GCC on Linux is to download the source code. The source code can be downloaded from the official GCC website or through your Linux distribution’s package manager. We will cover both methods in this section.

Downloading from the Official GCC Website

To download the GCC source code from the official website, follow these steps:

  • Open your web browser and navigate to the GCC download page;
  • Scroll down to the “Source” section and click on the link for the latest release;
  • On the release page, click on the “Download” link next to the “Full Release” option;
  • Choose a mirror site to download from and click on the link;
  • Once the download is complete, extract the tarball using the tar command: tar -xf gcc-x.x.x.tar.gz. Replace x.x.x with the version number you downloaded;
  • Move the extracted folder to your desired location. For example, you can move it to the /usr/local/src directory.

Downloading from the Package Manager

Alternatively, you can use your Linux distribution’s package manager to download the GCC source code. This method is recommended for beginners as it simplifies the process. Here’s how to do it:

  • Open your terminal and update the package manager’s cache: sudo apt update (for Debian-based distributions) or sudo yum update (for Red Hat-based distributions);
  • Install the build-essential package, which includes the necessary tools for compiling and building software: sudo apt install build-essential (for Debian-based distributions) or sudo yum groupinstall “Development Tools” (for Red Hat-based distributions);
  • Install the GCC source code package: sudo apt install gcc (for Debian-based distributions) or sudo yum install gcc (for Red Hat-based distributions).

Once the installation is complete, you can skip to the “Compiling and Installing GCC” section.

Is Compiling and Installing GCC Possible?

Now that you have the source code downloaded, it’s time to compile and install GCC. This process can take some time, so make sure you have enough time set aside for it.

  • Open your terminal and navigate to the directory where you extracted the GCC source code;
  • Create a build directory inside the source code directory: mkdir build && cd build;
  • Configure the build by running the configure script: ../configure. This script will check your system for any missing dependencies and configure the build accordingly. If any dependencies are missing, you will need to install them before proceeding;
  • Once the configuration is complete, run the make command to start the compilation process. This may take several minutes or even hours, depending on your system’s speed;
  • After the compilation is finished, run the make install command to install GCC on your system. This will copy all necessary files to their respective directories;
  • Finally, run the ldconfig command to update the shared library cache.

Congratulations! You have successfully installed GCC on your Linux system. However, there are a few more steps to ensure that GCC is set up correctly and ready to use.

How do you set up the GCC Environment Variables?

To use GCC, you need to set up some environment variables. These variables tell the system where to find the GCC binaries and libraries. Here’s how to set them up:

  • Open your terminal and navigate to the /etc/profile.d directory;
  • Create a new file with the .sh extension, such as gcc.sh: sudo nano gcc.sh;
  • Add the following lines to the file:

export PATH=$PATH:/usr/local/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

  • Save and close the file;
  • Make the file executable: sudo chmod +x gcc.sh;
  • Source the file to apply the changes: source gcc.sh.

You can now use GCC on your system without specifying the full path to the binaries.

Upgrading or Removing GCC

If you want to upgrade your existing GCC installation or remove it from your system, follow these steps:

Upgrading GCC

  • Download the latest version of the GCC source code following the steps outlined in the “Downloading the GCC Source Code” section;
  • Navigate to the directory where you extracted the new source code;
  • Run the make command to compile the new version;
  • Once the compilation is complete, run the make install command to install the new version;
  • Finally, run the ldconfig command to update the shared library cache.

Removing GCC

  • Open your terminal and navigate to the directory where you extracted the GCC source code;
  • Run the make uninstall command to remove GCC from your system;
  • Delete the source code directory.

Is the GCC Installation Verified?

To ensure that GCC is installed correctly and ready to use, you can run a simple test program. Follow these steps:

  • Create a new file named test.c using your preferred text editor;
  • Add the following code to the file:
# include <stdio.h>

int main() {
    printf("Hello World!\n");
    return 0;
}
  • Save and close the file;
  • Compile the program using GCC: gcc test.c -o test;
  • Run the program: ./test;
  • If you see “Hello World!” printed in the terminal, then GCC is installed and working correctly.
Man working on a laptop

Common Errors During GCC Installation and Their Resolutions

During the installation process, you may encounter some errors. Here are some of the most common errors and their resolutions:

  • Missing dependencies: If you encounter an error stating that a dependency is missing, you will need to install it using your package manager;
  • Insufficient disk space: If you run out of disk space during the compilation process, you can free up some space by deleting unnecessary files or increasing the size of your disk partition;
  • Permission denied: If you encounter a permission denied error, make sure you have the necessary permissions to access the files and directories involved in the installation process. You may need to use sudo before certain commands to gain root privileges.

Customizing GCC Installation for Specific Needs

By default, GCC is configured to support multiple programming languages and platforms. However, you can customize the installation to suit your specific needs. Here are some options you can use when running the configure script:

  • –enable-languages=: This option allows you to specify which languages you want GCC to support. For example, if you only want to use C and C++, you can use –enable-languages=c,c++;
  • –prefix=: This option allows you to specify the installation directory. By default, GCC is installed in the /usr/local directory, but you can change it to any location you prefer;
  • –with-system-zlib: This option tells GCC to use the system’s zlib library instead of the one bundled with GCC. This can help reduce the size of the installation;
  • –disable-multilib: This option disables the building of 32-bit libraries on a 64-bit system. This can be useful if you only need 64-bit support.

For a full list of available options, you can run ../configure –help in the build directory.

Advanced Options and Configurations for GCC

In addition to customizing the installation, there are also advanced options and configurations available for GCC. These options can help improve the performance of your programs or enable specific features. Here are a few examples:

  • -O: This option enables optimization, which can improve the performance of your code;
  • -g: This option adds debugging information to your compiled program, making it easier to debug any issues that may arise;
  • -Wall: This option enables all warnings, helping you catch potential errors in your code;
  • -fopenmp: This option enables support for OpenMP, a programming interface for parallel computing;
  • -march=: This option allows you to specify the target architecture for your program. For example, if you are compiling on a 64-bit system, you can use -march=x86-64 to optimize for that architecture.

For a full list of available options and configurations, you can refer to the GCC documentation.

What are the Best Practices and Recommendations for GCC Installation?

To ensure a smooth installation process and avoid any potential issues, here are some best practices and recommendations to keep in mind:

  • Always download the source code from the official GCC website or through your Linux distribution’s package manager. Avoid downloading from third-party sources as they may contain malicious code;
  • Make sure you have enough disk space before starting the installation process;
  • If you encounter any errors during the installation, try searching for solutions online or consult the GCC documentation;
  • Keep your GCC installation up to date by regularly checking for updates and upgrading when necessary;
  • If you need to use a specific version of GCC for compatibility reasons, consider using a virtual environment or container to avoid conflicts with your system’s default GCC installation.