Quellcode kompilieren
Manchmal ist es nicht möglich Programme oder Pakete zu finden, die im Debian eigenen Format (*.deb) vorliegen und mit
apt∞ oder aber RPM-Pakete die mit
Alien installiert werden können. In solchen Fällen musst Du meist den Quell-/ sourcecode selbst kompilieren.
Der Ablauf ist in solchen Fällen meist immer der selbe und wird auf hunderten Seiten im Internet (z.B.
hier∞) und fast immer in den zugehörigen Installationsanleitungen der Programme (INSTALL) beschrieben. Ich werde deswegen hier nur eine Kurzfassung angeben.
Pakete die so installiert werden geben keine Informationen an den Paketmanager (apt) weiter. Daher ist dies eigentlich nicht zu empfehlen, da dabei Abhängigkeiten zwischen verschiedenen Paketen durcheinandergeraten können. Üblicherweise sollten solche Pakete daher in das /opt Verzeichnis installiert werden um das sich der Paketmanager nicht weiter kümmert. Das Zielverzeichnis lässt sich meistens bei ./configure angeben, z.B.: ./configure --prefix=/opt/zielverzeichnis
Unter Linux wird beim Selbstkompilieren von Quellpaketen in 90% der Fälle der Dreisatz
./configure
make
make install
aber der Reihe nach...
Zunächst müssen wir das heruntergeladene Archiv entpacken:
So nun können wir anfangen zu kompilieren. Wir gehen in das Verzeichnis, welches beim Entpacken erzeugt wurde, in seltenen Fällen werden die Dateien auch direkt in das aktuelle Verzeichnis entpackt. Wir sehen mal nach...
zeigt uns den Datei und Verzeichnisbaum des aktuellen Verzeichnisses an. Hier sollte ein Name erscheinen, der ähnlich wie das tar.gz File auch den Namen des Programms und die Versionsnummer etc. enthält. In dieses Verzeichnis wechseln wir nun, indem wir cd und den Verzeichnisnamen abschreiben:
In dem Falle, dass die Dateien nicht in ein neues Verzeichnis entpackt wurden müsstet ihr einige Dateien sehen, die auf configure..., Make... und INSTALL lauten, in diesem Falle braucht Ihr das Verzeichnis nicht zu wechseln.
So nun gehts los:
Es wird nun überprüft, ob du alle Bibliotheken und sonstnotwendige Software installiert hast. Dein Bildschirm ist nun voll mit lauter Ausgaben und wenn irgendwo am Ende die makefiles erzeugt wurden, hat es geklappt. Ansonsten genau lesen was der Fehler war. Zu den meisten Fehlern zählt, dass irgendeine Bibliothek (lib) fehlt. Diese schreiben wir uns auf und besorgen uns die dann. Wenn alles gut läuft, könnt ihr die Bibliotheken mit
apt∞ oder
Synaptic installieren. Ansonsten sollte ein Hinweis in der INSTALL oder auf der Homepage, von wo ihr das Paket habt, zu finden sein, wie man an die Bibliotheken rankommt. Wenn alles nicht fruchtet, hilft nur noch "googeln". Hast Du dann die fehlenden Sachen installiert, führst du ./configure erneut aus, bis es geht ...
Nun gehts endlich ans kompilieren:
wirft den Compiler an und da jetzt ne Menge "übersetzt" werden muss von der Programmiersprache in den für Computer lesbaren Code, kann das schon ne Weile dauern. Wir besorgen uns also einen Kaffee.
Wenn ./configure keine Fehler (mehr) erzeugt hatte, dürften jetzt auch keine entstanden sein.Damit Dein Programm nun auch jeder nutzen kann, müssen wir es noch für alle "fest" installieren. Wir machen als root
und nun sollte alles installiert sein und funktionieren.
Noch mal der Hinweis von mir, schaut Euch vor dem kompilieren die INSTALL an bzw. schaut nach, ob auf der Homepage irgendwelche besonderen Installationsanweisungen stehen, damit lassen sich die meisten Fehlerquellen schon einmal von vornherein ausschließen.
So und nun viel Spaß beim kompilieren wünscht DarkTiger
1. Variante für
make install.
Für make install kann man auch den Befehl
checkinstall verwenden, damit wird ein Deb-Paket erzeugt und dieses installiert. Zum installieren
apt-get install checkinstall
zum ausführen statt make install
2. Variante für
./configure,
make und
make install.
Bei einen Quellcode der einen Ordner Debian enthält.
dpkg-buildpackage -us -uc
Bei einen Quellcode der keinen Ordner Debian enthält.
dpkg-buildpackage -us -uc
die Debian-Pakete werden ein Verzeichnis höher erstellt, wenn alle Vorraussetzungen erfüllt sind.
zum wechseln eine Verzeichnisstufe höher
installieren mit
dpkg -i Debian-Paket-Name.deb