Das Paket-Repository meiner Distribution verfügt nicht über die aktuelle Version des gewünschten tmux-Pakets. Ich habe die neueste Version im tar.gz
Format von der Website heruntergeladen. Beim Versuch, ./configure
dies 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, tmux
3.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
( PREFIX
vorher festlegen ./configure
oder 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 stow
hierfü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.