20.08.2014, 11:57 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

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:
tar -xzf PAKET.tar.gz


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...
dir

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:
cd VERZEICHNIS

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:
./configure

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:
make

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
make install

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
checkinstall


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.
dh_make -s -n 

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
cd ..

installieren mit
dpkg -i Debian-Paket-Name.deb





zurück

XML Revisions of $tag
Seiten-History :: Letzter Editor : besenmuckel :: Eigentümer : DarkTiger ::
Powered by pnWikka 1.0
 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.