Von Zeit zu Zeit möchten oder müssen Sie möglicherweise eine Software/ein Programm aus dem Quellcode kompilieren. Dies beinhaltet das Kompilieren von C- oder C++-Code in etwas, das wir unter Linux ausführen können. Abhängig von der Software, die Sie kompilieren möchten, ist dies oft nicht erforderlich. Dies liegt daran, dass Ihre Distribution wahrscheinlich bereits die binäre Form des Programms in den Software-Repositories hat.
Tatsächlich sollten Sie die Binärpakete dem Kompilieren aus der Quelle vorziehen. Ein Grund ist, dass es möglicherweise Probleme für Ihr System verursachen könnte. Sollte jedoch jemals die Zeit kommen, in der Sie aus dem Quellcode kompilieren müssen, gibt Ihnen diese Anleitung einige grundlegende Hinweise.
Ein typisches Beispiel
Nehmen wir ein Programm, das entweder in C oder C++ geschrieben ist. Das Herunterladen des Quellcodes beinhaltet oft entweder das Herunterladen und Entpacken eines Pakets (oft ein Tarball) oder das Klonen eines Git-Repositorys. Die typische Arbeitsweise ist die Ausführung dieser drei Befehle:$
./configure $ make $ sudo make install
Der erste Befehl führt das Konfigurationsskript aus, das die auf Ihrem System installierten Bibliotheken analysiert. Wenn eine erforderliche Bibliothek nicht installiert ist, wird sie gemeldet und Sie müssen sie installieren. Sie müssen nicht nur die Bibliothek installieren, sondern auch die Entwicklungsdateien müssen vorhanden sein. Quellcodedateien verwenden die Funktionalität dieser Bibliotheken.
Nachdem der Befehl configure ausgeführt wurde, sollte ein Makefile vorhanden sein. Durch Ausführen von „make“ wird das Makefile im aktuellen Verzeichnis gelesen und der Compiler (gcc für C oder g++ für C++) ausgeführt, um die Software zu kompilieren.
Der dritte Befehl ist nicht unbedingt erforderlich, wird jedoch für den systemweiten Zugriff empfohlen, d. h. das Ausführen der ausführbaren Datei von überall im Terminal. Dieser Befehl weist ‚make‘ an, Anweisungen zur Installation des Programms auf dem System auszuführen.
Die INSTALL- oder README-Dateien
Möglicherweise müssen zusätzliche Anweisungen ausgeführt werden, bevor mit dem Kompilieren begonnen werden kann. Das Lesen dieser Datei (normalerweise INSTALL) sollte auch zeigen, welche Entwicklungsbibliotheken möglicherweise zuerst installiert werden müssen. Solche Pakete enthalten das Suffix „-dev“, um anzuzeigen, dass dies die Entwicklungsheader sind und installiert werden müssen. Das Konfigurationsskript kann auch zusätzliche Parameter erfordern. README enthält alle anderen Informationen.
Möglicherweise stellen Sie sogar fest, dass während des gesamten Vorgangs keiner der drei Befehle ausgeführt wird. Sogar Variationen von make wie qmake (für Qt-Projekte) oder cmake könnten stattdessen verwendet werden.
Installieren Sie ein GitHub-Programm
Beginnen wir mit der Installation eines Texteditors namens wxMEdit, der auf GitHub zu finden ist. Hier zeige ich, wie man ein Programm durch Kompilieren aus dem Quellcode installiert. Dies ist ein fast typisches Beispiel für den Umfang dieses Leitfadens. Wenn Sie das GitHub-Repository besuchen, werden Sie sehen, dass die Readme-Datei Details zur Anwendung enthält. Es gibt keine Kompilierungsanweisungen, daher gilt die Standardsequenz mit einem Unterschied: autogen.sh.
Zunächst wechseln wir zu dem Ort, an dem wir das Repository im Terminal speichern möchten, und klonen es:
$ cd wherever $ git clone git://github.com/wxMEdit/wxMEdit.git
Autogen.sh
Wenn Sie diese Datei im Quellcode finden, sollten Sie diese zuerst vor „./configure“ ausführen, da dies Aufgaben ausführt, mit denen Sie die Software erfolgreich kompilieren können. Wenn das erfolgreich ist, können Sie „./configure“, „make“ und dann „sudo make install“ und alles andere ausführen, was Sie ausführen müssen (in diesem Fall nichts anderes).
$ ./autogen.sh
$ ./configure
$ make
Sie sollten keine Fehler in der Make-Ausgabe sehen.
$ sudo make install
Fehlerbehebung
Wenn Sie dies regelmäßig tun, werden Sie beim Kompilieren aus dem Quellcode zwangsläufig auf bestimmte Probleme stoßen.
Fehlende Bibliotheken
Denken Sie daran, dass es nicht ausreicht, die Binärbibliotheken zu installieren; Die Quelldateien oder Entwicklungsheader müssen ebenfalls installiert werden. Das Konfigurationsskript wird Sie zusammen mit der Dokumentation normalerweise auf alle Bibliotheken (Entwicklungsheader) aufmerksam machen, die Sie für eine erfolgreiche Kompilierung installieren müssen. Stellen Sie sicher, dass diese auf Ihrem System installiert sind.
Sie werden installiert und andere Fehler treten auf
Schlussfolgerung
Kompilieren von Software kann entweder ganz einfach oder ziemlich schmerzhaft sein. Glücklicherweise bieten viele Linux-Distributionen binäre Pakete, die zur Installation bereit sind, sodass das Kompilieren aus dem Quellcode normalerweise nicht erforderlich ist. Es ist besser, bei den Binärpaketen zu bleiben, die von den Software-Repos bereitgestellt werden, die von Ihrer Distribution bereitgestellt werden, falls sie verfügbar sind.