Linux adalah lingkungan pengembangan C yang paling natural—semua tool inti (GCC, make, gdb) tersedia di package manager distro. Bab ini menuntun kita memasang toolchain C di distribusi populer: Debian/Ubuntu, Fedora, dan Arch Linux. Kita akan memverifikasi pemasangan dengan compile program “Halo Dunia” dan menampilkan versi tool.

1. Debian / Ubuntu #

Debian dan turunannya (Ubuntu, Linux Mint, Pop!_OS) memakai package manager apt. Paket build-essential sudah mencakup GCC, g++, make, dan header standar libc.

bash
# Update indeks paket
sudo apt update

# Pasang toolchain C inti
sudo apt install -y build-essential

# Pasang gdb dan valgrind untuk debugging/profiling
sudo apt install -y gdb valgrind

# Pasang CMake (opsional, untuk proyek besar)
sudo apt install -y cmake

Verifikasi pemasangan:

bash
gcc --version
make --version
gdb --version

Output yang Dihasilkan (versi tergantung rilis distro):

text
gcc (Debian 14.2.0-19) 14.2.0
GNU Make 4.4.1
GNU gdb (Debian 16.3-1) 16.3

2. Fedora #

Fedora memakai dnf dan menyatukan toolchain di meta-package @development-tools.

bash
# Update sistem
sudo dnf check-update

# Pasang GCC, make, gdb
sudo dnf install -y gcc gcc-c++ make gdb

# Pasang CMake dan valgrind
sudo dnf install -y cmake valgrind

Verifikasi pemasangan:

bash
gcc --version | head -1
make --version | head -1
gdb --version | head -1

Output yang Dihasilkan:

text
gcc (GCC) 14.2.1
GNU Make 4.4.1
GNU gdb (Fedora Linux) 15.2

3. Arch Linux / Manjaro #

Arch Linux memakai pacman dan selalu menyertakan toolchain base.

bash
# Sync database paket
sudo pacman -Syu

# Pasang toolchain
sudo pacman -S --needed base-devel gdb cmake valgrind

Verifikasi pemasangan:

bash
gcc --version | head -1
make --version | head -1

Output yang Dihasilkan:

text
gcc (GCC) 15.1.1
GNU Make 4.4.1

4. Verifikasi dengan Hello World #

Buat file hello.c berikut untuk memverifikasi toolchain berfungsi end-to-end.

c
/* File: hello.c - Verifikasi toolchain C */
#include <stdio.h>

int main(void) {
    printf("Toolchain siap digunakan\n");
    return 0;
}

Compile dan jalankan:

bash
gcc -std=c11 -Wall -Wextra -o hello hello.c
./hello

Output yang Dihasilkan:

text
Toolchain siap digunakan

5. Paket Tambahan yang Berguna #

PaketKegunaan
manpages-devHalaman manual fungsi library C (man 3 printf)
glibc-docDokumentasi GNU libc
binutilsobjdump, readelf, nm untuk inspeksi binary
clangCompiler alternatif Clang
lldbDebugger alternatif LLVM
cppcheckStatic analyzer tambahan
bearGenerate compile_commands.json untuk editor

Pasang semuanya sekaligus di Debian/Ubuntu:

bash
sudo apt install -y manpages-dev binutils clang cppcheck bear

6. Troubleshooting #

Error: command not found setelah instalasi #

Pastikan direktori binary ada di PATH. Jalankan:

bash
echo $PATH
which gcc

Jika which gcc kosong, periksa apakah paket benar terpasang:

bash
dpkg -l | grep gcc      # Debian/Ubuntu
rpm -qa | grep gcc      # Fedora
pacman -Q | grep gcc    # Arch

Error: E: Unable to locate package build-essential #

Index paket belum di-update. Jalankan sudo apt update lebih dulu.

Warning: In file included from /usr/include/stdio.h:34 #

Header development libc belum terpasang. Di Debian/Ubuntu, ini disertakan build-essential. Di distro lain, mungkin perlu paket libc-dev terpisah:

bash
sudo apt install -y libc6-dev      # Debian/Ubuntu
sudo dnf install -y glibc-headers  # Fedora
sudo pacman -S --needed glibc       # Arch

GCC versi lama tidak mendukung -std=c2x #

Standar C23 membutuhkan GCC 14+ atau Clang 18+. Untuk distro lama, gunakan PPA (Ubuntu) atau pasang dari source. Lihat bab Setup Compiler Modern untuk panduan upgrade.