Kompilieren

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche

810.png 804.png 710.png 704.png

Idee.png Begriffserklärung Idee.png
Edit l.png Dieser Artikel bedarf einer Aktualisierung. Edit.png

Inhaltsverzeichnis


1 Allgemeines

Zunächst sollte erwähnt werden, dass Programme in Ubuntu immer mit Hilfe von APT installiert werden sollten, um die Konsistenz des Systems nicht zu gefährden. Sollte es jedoch einmal notwendig sein, Programme aus dem Quellcode zu installieren, müssen in Ubuntu einige Vorarbeiten geleistet werden.

2 Systemvoraussetzungen

Aus irgendwelchen Gründen werden Header-Dateien, die für den Kompiliervorgang notwendig sind, nicht in die Standardinstallation integriert. Es muss mindestens noch das Paket libc6-dev nachinstalliert werden:

sudo apt-get install libc6-dev

Wer auf der sicheren Seite sein möchte, sollte sich:

sudo apt-get install build-essential

installieren, ein Metapaket, dass so ziemlich alle brauchbaren und zum Kompiliervorgang benötigten (inklusive libc6-dev) Pakete enthält.

Eventuell müssen noch die Header-Dateien der jeweiligen Arbeitsumgebung installiert werden, wenn für diese Applikationen gebaut werden sollen:

KDE
sudo apt-get install kdebase-dev
GNOME
sudo apt-get install gnome-core-devel
Kernel

Sollen Module für den Kernel kompiliert werden, müssen noch die entsprechenden Kernel-Header installiert werden

sudo apt-get install linux-headers-generic

3 Kompiliervorgang

3.1 Herunterladen und Entpacken

Das heruntergeladene Paket des zu installierenden Programms muss dann noch entpackt werden:

unp file_name.tar.gz

bzw.

tar xfvz  file_name.tar.gz

und in das neu entstandene Verzeichnis gewechselt werden:

cd  file_name

3.2 Installieren

Danach muss der Linux-Dreisatz ausgeführt werden:

./configure
make
sudo make install

Sollte configure mit einer Fehlermeldung abbrechen, so liegt das meist daran, dass noch andere Pakete, die das neue Programm zum Ausführen benötigt, nachinstalliert werden müssen. Der genaue Grund und das eventuell nachzuinstallierende Paket, steht meist in der Fehlermeldung.

Das kompilierte Paket kann auch vor der Installation gestestet werden. Der nachfolgende Befehl simuliert lediglich eine Installation.

make installcheck

Der Nachteil der make install-Methode ist, dass so installierte Pakete nicht vom Ubuntu-Paketmanagement verwaltet werden können. Das macht eine spätere Deinstallation oder Aktualisierung komplizierter. Daher bietet es sich an, mit dem unten beschriebenen checkinstall ein .deb-File zu erzeugen.

3.3 Deinstallieren

Da diese Pakete nicht im Systemmanagement auftauchen, ist das Deinstallieren etwas mühselig.

Pakete, die mit:

sudo make install

installiert wurden können mit durch:

sudo make uninstall

Allerdings müssen dafür zwei Dinge gegeben sein:

  1. der Befehl zum Entfernen muss in exakt dem selben Verzeichnis, wie der Befehl zum Installieren abgesetzt werden.
  2. configure muss vorher durchlaufen werden.

Sollte dies nicht funktionieren, bleibt nur der Weg über händisches Löschen der einzelnen Dateien.

4 Checkinstall

Anstatt das Paket mit

sudo make install

zu installieren, kann mit checkinstall ein Debian-Paket erzeugt werden.

Installieren
sudo apt-get install checkinstall
Anwenden
./configure
make
sudo checkinstall -D

Danach können die jeweiligen Fragen beantwortet oder einfach die Standard-Einstellungen übernommen werden. Wichtig ist, dass die Frage nach dem Paketformat mit Debian beantwortet wird.

Checkinstall kann auch mit der Option --install=no aufgerufen. Damit wird nur ein .deb-Paket erstellt. Das entstandene Paket kann dann folgendermaßen installiert werden:

sudo dpkg -i neues_paket.deb
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge