Building and Compiling Software from Source on Ubuntu

Jul 12, 2023 - 15:23
Aug 7, 2024 - 17:57
 0  128
Building and Compiling Software from Source on Ubuntu

In the world of open-source software, building and compiling software from source is a valuable skill that gives you control over the software you use. By compiling from source, you can customize the software to your specific needs, optimize it for your system, and even contribute to its development. This guide will walk you through the process of compiling and installing software from source on Ubuntu, including handling dependencies and configurations.

Prerequisites

Before you start, make sure your system is updated and you have the necessary tools installed:

sudo apt update
sudo apt upgrade
sudo apt install build-essential

The `build-essential` package includes essential tools like GCC (GNU Compiler Collection), `make`, and other libraries required for building software.

Step 1: Download the Source Code

Most open-source projects provide their source code on platforms like GitHub, GitLab, or directly on their websites. For this example, let's download the source code for `htop`, a popular interactive process viewer.

sudo apt install git
git clone https://github.com/htop-dev/htop.git
cd htop

Alternatively, you can download the source code tarball from the project's website:

wget http://hisham.hm/htop/releases/3.0.5/htop-3.0.5.tar.gz
tar -xzvf htop-3.0.5.tar.gz
cd htop-3.0.5

Step 2: Install Dependencies

Dependencies are external libraries or tools that the software relies on. To find out what dependencies you need, check the project's documentation or README file. For `htop`, the required dependencies are usually listed in the documentation.

On Ubuntu, you can install most dependencies using `apt`. For example:

sudo apt install libncursesw5-dev libncurses5-dev

Step 3: Configure the Build

Many projects use `autotools` for configuration, which provides a `configure` script to prepare the build system. Run the `configure` script to check your system for the necessary tools and libraries and to create the appropriate Makefiles.

./configure

You can customize the configuration by passing options to the `configure` script. Use `./configure --help` to see a list of available options. For instance, you might specify a different installation directory:

./configure --prefix=/usr/local

Step 4: Compile the Source Code

Once the configuration is complete, compile the software by running `make`. This step translates the source code into executable binaries.

make

If your system has multiple CPU cores, you can speed up the compilation by running `make` in parallel. For example, if you have 4 cores, use:

make -j4

Step 5: Install the Software

After successful compilation, install the software onto your system with `make install`. This step usually requires superuser privileges, so use `sudo`.

sudo make install

Step 6: Verify the Installation

Finally, verify that the software has been installed correctly. You can check the version or run the software to ensure it works.

htop --version
htop

Troubleshooting

Missing Dependencies: If you encounter errors about missing dependencies, make sure you have installed all necessary libraries. Use the package manager to install any missing packages.
Configuration Errors: Review the output of the `./configure` script to identify any issues. Missing development headers are a common problem.
Compilation Errors: Check the output of `make` for clues. Sometimes, adjusting `CFLAGS` or other environment variables can help resolve issues.

Conclusion

Compiling software from source on Ubuntu is a powerful technique that allows you to tailor software to your specific needs, optimize performance, and learn more about how software works. By following these steps, you can build and install virtually any open-source project. Happy compiling!

Feel free to share your experiences or ask questions in the comments below. Happy coding!

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow