Posted on
Administration

Installing source packages for custom compilation

Author
  • User
    Linux Bash
    Posts by this author
    Posts by this author

Installing Source Packages for Custom Compilation on Linux

Compiling software from source can be an enlightening experience for any Linux user. It gives you more control over the configurations, ensures you get the latest features (even those not yet available in binary form), and optimises the software to suit your particular hardware more effectively. This guide will walk you through the steps to download and compile software from source code, providing specific instructions for various Linux distributions using different package managers like apt, dnf, and zypper.

Why Compile from Source?

There are several reasons to compile programs from source code: 1. Customization: You can enable or disable specific features that are not in precompiled packages. 2. Performance: Optimise software to work better with your specific hardware. 3. Latest Updates: Access the most recent version of software not yet available in repository binaries.

Preparation

Before you start, make sure your system is ready to compile the software. This typically involves installing development tools and libraries.

1. Install Development Tools:

  • Debian/Ubuntu (using apt):

    sudo apt update
    sudo apt install build-essential
    
  • Fedora (using dnf):

    sudo dnf groupinstall "Development Tools" "Development Libraries"
    
  • openSUSE (using zypper):

    sudo zypper install -t pattern devel_basis
    

2. Install Required Libraries and Dependencies:

Dependencies vary by program, but you can often find the necessary packages listed in the README or INSTALL file of the source package. Ensure you install the development version of required libraries, often denoted with a -dev or -devel suffix.

Downloading the Source Code

Source code is typically available in tar.gz or tar.bz2 archives. You can download it using wget or curl. Here’s how you might download the source code:

wget http://example.com/download/package.tar.gz
# Or using curl
curl -O http://example.com/download/package.tar.gz

Extracting the Source Code

Use tar to extract the contents of the archive:

tar xvf package.tar.gz

This will create a new directory containing the source code.

Compiling the Software

Move into the directory containing the source:

cd package

The typical compilation procedure follows these steps:

1. Configure: This script determines your environment and sets up the Makefile to be used in the compilation process.

./configure

You can customise behavior with options, e.g., setting the installation path:

./configure --prefix=/usr/local

2. Make: This command compiles the code.

make

This might take some time depending on the size of the program and the speed of your computer.

3. Install: This step often requires sudo because it installs the software to system directories.

sudo make install

Post-Installation

After the installation, the software should be ready to use. However, you might need to update the system’s library cache:

sudo ldconfig

Uninstalling the Software

If the software was installed using make install, you could often uninstall it using:

sudo make uninstall

However, this only works if the source directory from which the software was installed still exists and contains the make configurations.

Conclusion

Installing software from source can be more complex than using binary packages, but it offers flexibility and potential performance benefits. By following these steps, you can customise and optimise open-source software packages on your Linux system like never before. Remember, always check the project documentation for specific instructions and dependencies—it's your best guide through the compilation process!