EMZETT.
Login

Software aus dem Quellcode bauen (make, CMake)

Kurz: Wenn es kein Paket gibt, kann man ein Programm aus dem Quellcode übersetzen. Typisch: Abhängigkeiten installieren, konfigurieren, bauen, installieren.

Genauer: Der Quellcode wird von einem Compiler in ausführbare Dateien übersetzt. Build-Systeme wie make und CMake automatisieren das.

Im Detail

# klassisch (Autotools)
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
 
# CMake
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
sudo cmake --install build
 
# Meson
meson setup build && ninja -C build && sudo ninja -C build install
  • Installationsort: Nach /usr/local, nicht nach /usr, damit der Paketmanager nichts überschreibt.
  • Entfernen: make uninstall gibt es nicht immer. Besser mit checkinstall ein Paket bauen oder in einem Container bzw. Verzeichnis (stow) halten.
  • Voraussetzungen: build-essential, Entwicklungspakete (-dev bzw. -devel).
  • Andere Sprachen: cargo build (Rust), go build, npm install, pip install.
  • Nachteil: Keine automatischen Sicherheits-Updates.

Siehe auch: Wichtige Pakete im Linux-Basissystem, Abhängigkeiten und Bibliotheken