Muss ich ALLE Abhängigkeiten aus Quellen erstellen, wenn ich ein anderes Projekt aus Quellen erstelle?

Muss ich ALLE Abhängigkeiten aus Quellen erstellen, wenn ich ein anderes Projekt aus Quellen erstelle?

Das Paket-Repository meiner Distribution verfügt nicht über die aktuelle Version des gewünschten tmux-Pakets. Ich habe die neueste Version im tar.gzFormat von der Website heruntergeladen. Beim Versuch, ./configuredies zu tun, teilte mir configure jedoch mit, dass andere Abhängigkeiten erforderlich sind. Meine Frage ist:ist es eine bewährte Methode, diese Abhängigkeiten auch manuell aus Quellen zu erstellen?Wenn ich diese Abhängigkeiten mit dem Paketmanager der Distribution herunterlade, besteht dann die Möglichkeit, dassSie auchwird veraltet sein und es wird eine ältere Abhängigkeit geben als die, die der aktuelle Tmux benötigt?

In diesem speziellen Fall versuche ich, tmux3.0a auf Ubuntu 18.04.4 LTS zu erstellen, und das Paket, von dem ich höre, dass es nicht existiert, heißt libevent.

Antwort1

Angenommen, Sie benötigen Libevent Version 42.1.

Wenn Ihr Paketmanager über Libevent in der Version 42.5 verfügt, können Sie es installieren. Sie müssen es nicht aus dem Quellcode erstellen. Um Software mit Libevent zu erstellen, müssen Sie die entsprechenden Entwicklungspakete installieren: libevent-dev auf .deb-basierten Distributionen, libevent-devel auf RPM-basierten Distributionen.

Wenn Ihr Paketmanager nur über Libevent in der Version 40.3 verfügt, müssen Sie Libevent auch aus dem Quellcode erstellen (aus einer Version höher als 42.1).

Empfehlung: Installieren Sie alles, was Sie aus dem Quellcode erstellen, in /usr/local( PREFIXvorher festlegen ./configureoder die Dokumentation lesen, wenn dieses Paket es anders macht). Auf diese Weise kommt es nicht zu Konflikten zwischen dem, was Sie selbst erstellen, und dem, was Ihr Paketmanager installiert. Ich verwende stowhierfür auch, sodass ich mehrere Versionen behalten kann.

Besteht die Möglichkeit, dass auch diese veraltet sind?

Natürlich „gibt es eine Chance“. Die einzige Möglichkeit, das herauszufinden, besteht darin, in Ihren Paketmanager zu gehen und nachzuschauen. Und dies könnte eine gute Gelegenheit sein, Ihren Paketmanager auf eine neuere Version hinzuweisen, falls diese Upstream vorhanden ist.

verwandte Informationen