Kompilieren
Aus Ubuntu-Forum Wiki
Zeile 86: | Zeile 86: | ||
[[Kategorie:Paketverwaltung]] | [[Kategorie:Paketverwaltung]] | ||
- |
Aktuelle Version vom 12. Januar 2011, 14:16 Uhr
Begriffserklärung |
Dieser Artikel bedarf einer Aktualisierung. |
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:
- der Befehl zum Entfernen muss in exakt dem selben Verzeichnis, wie der Befehl zum Installieren abgesetzt werden.
- 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