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
 

Ä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 12/2014: ANONYM & SICHER

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!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...