Auf zu den Quellen

Programme selber kompilieren

01.07.2005
Der bekannte Dreischritt, um Programme aus dem Quelltext zu kompilieren und zu installieren, lautet "./configure", "make", "make install". Doch was verbirgt sich hinter diesen Kommandos?

Warum sollte ein Anwender ein Programm selber "backen", wenn seine Distribution vorkompilierte Pakete bereithält, seien sie im RPM- oder Debian-Format? Böse Zungen unterstellen gerne Versionitis, also den krankhaften Wunsch, stets die neueste Ausgabe eines Tools besitzen zu müssen. Doch diese Unterstellung greift zu kurz. Denn oft gelingt es erst durch das Eigenkompilat, ein Programm exakt an die eigenen Wünsche anzupassen.

Vorbereitung ist alles

Zum Kompilieren gehört ein Compiler und verschiedene andere Tools. Bevor Sie also mit der Arbeit loslegen, müssen Sie eventuell einige Werkzeuge nachrüsten. Wichtig ist in erster Linie der GNU C-Compiler gcc. Er kommt zum Einsatz, sobald Sie einen Quelltext in der Programmiersprache C vor sich haben. Um ein Programm der Sprache C++ (C-Plus-Plus) zu kompilieren, installieren Sie den GNU C++-Compiler g++.

Auch das Paket libstdc++-dev darf nicht fehlen. Es enthält die Header-Dateien zum Entwickeln von C++-Programmen. Sie benötigen diese Dateien, um die Funktionalität von Libraries dynamisch zu nutzen. Pakete mit dem Namen glibc-devel oder glibc-dev sowie libc-dev enthalten die Header-Files zum Kompilieren und Linken von C-Programmen. Je nach Distributor enden die hier angeführten Entwickler-Pakete zumeist auf -devel oder -dev.

Mit den Tools des Paketes binutils linken und assemblieren Sie Objektdateien. So befreit das Binary-Utility strip die übersetzten Dateien von überflüssigem Ballast wie Debug-Informationen und macht sie dadurch schlanker.

Um Programme mit Native Language Support (NLS) zu kompilieren, brauchen Sie das Paket gettext respektive dessen Entwicklerpaket gettext-devel. Native Language Support bedeutet, dass das installierte Programm später Fehlermeldungen und Dialoge in der von Ihnen gewünschten Sprache ausgibt.

Ebenfalls unverzichtbar ist das Tool make. Es übersetzt den Quelltext und installiert das fertige Programm anhand der Anweisungen in einer Datei mit dem Namen GNUmakefile, makefile oder Makefile. Dort stehen die Regeln samt Variablen, die make ausführt.

Als sehr nützlich kann sich das Programm patch erweisen. Es ermöglicht Ihnen das Patchen einer Software: Sie können also aus einer Datei heraus Änderungen oder Versionssprünge einspielen, ohne gleich den gesamten Quellcode einer neuen Version herunterzuladen [1].

Quellen entpacken

Dass Programme im Quelltext häufig in Tarballs verpackt vorliegen, stellt für die meisten Anwender kein Geheimnis dar. So ein Archiv mit den Sourcen entpacken Sie mittels folgendem Kommando: tar xvfz archiv-name.tar.gz

Komprimierte Tarballs mit dem Suffix .tar.bz2 öffenen Sie durch den Befehl tar xvIf archiv-name.tar.bz2 beziehungsweise mit den Optionen xvjf, je nach verwendeter Version des Tape-Archiver tar. Wenn Sie zuvor mehr über den Inhalt des Tarballs erfahren wollen, bevor Sie ihn auf Ihrer Festplatte entpacken, funktioniert das so:

[localhost]~ > tar tvfz vim-6.3-↩
lang.tar.gz | less
drwxr-xr-x mool/mool 0 2004-06-0↩
7 14:29:35 vim63/
drwxr-xr-x mool/mool 0 2004-06-0↩
7 14:29:35 vim63/src/
drwxr-xr-x mool/mool 0 2004-06-0↩
7 14:29:35 vim63/src/po/
-rw-r--r-- mool/mool 3804 2003-0↩
6-20 20:38:48 vim63/src/po/READM↩
E.txt
[…]

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Multimuschel
    Mrxvt ist schlank, wendig, einfach anzupassen und unterstützt mehrere Shell-Sitzungen in einem Terminalfenster.
  • Programme unter Linux kompilieren
  • Mit Make komplexe Aufgaben effizient bearbeiten
    Arbeiten Sie an komplexen Projekten mit mehreren Quelldateien, behält Make den Überblick für Sie. Programmierern, LaTeX-Anwendern oder Systemverwaltern greifen gerne auf dieses nützliche Werkzeug zurück.
  • Installationsprobleme
    Die Installation aktueller Linux-Programme läuft häufig über den "klassischen" Weg, der aus den drei Schritten ./configure, make und make install besteht. Dabei kann allerdings einiges schiefgehen, wenn etwa für das Übersetzen notwendige Pakete fehlen. Schauen wir uns die typischen Probleme an…
  • Der Linux-Gral
    Für bestimmte Hardware kommen Sie nicht darum herum, selbst nach Treibern zu suchen und diese zu installieren. Dieser Artikel zeigt Ihnen die wichtigsten Schritte und erklärt, was beim Treiber-Kompilieren genau geschieht.
Kommentare

Infos zur Publikation

LU 02/2016: Alt-PCs flott machen

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...
Windows 10 verhindert LINUX
Hans Wendel, 17.11.2015 17:47, 8 Antworten
Hallo alle, mit einem W10-Laptop (vorher war Win7) wollte ich LINUX ausprobieren. Alles, was ni...