В репозитории пакетов моего дистрибутива нет текущей версии пакета tmux, который мне нужен. Я скачал последнюю версию в tar.gz
формате с веб-сайта. Однако при попытке сделать ./configure
это configure сообщил мне, что ему нужны другие зависимости. Мой вопрос:Является ли лучшей практикой также вручную создавать эти зависимости из исходников?Если бы я пошел и скачал эти зависимости с помощью менеджера пакетов дистрибутива, есть ли вероятность, чтоони тожебудет устаревшим и будет более старая зависимость, чем та, которая нужна текущему tmux?
В данном конкретном случае я пытаюсь собрать tmux
3.0a на Ubuntu 18.04.4 LTS, и пакет, о котором мне сообщается, что он не существует, называется libevent
.
решение1
Допустим, вам нужна версия libevent 42.1.
Если в вашем менеджере пакетов есть libevent версии 42.5, установите его. Не нужно собирать его из исходников. Для сборки программного обеспечения с использованием libevent вам нужно установить соответствующие пакеты разработки: libevent-dev в дистрибутивах на основе .deb, libevent-devel в дистрибутивах на основе RPM.
Если в вашем менеджере пакетов имеется только libevent версии 40.3, то вам также необходимо собрать libevent из исходного кода (версии выше 42.1).
Рекомендация: Установите все, что вы собираете из исходников /usr/local
(установите PREFIX
перед выполнением ./configure
, или прочитайте документацию, если этот пакет делает это по-другому). Таким образом, то, что вы собираете сами, и то, что устанавливает ваш менеджер пакетов, не будет конфликтовать. Я stow
тоже использую для этого, поэтому могу хранить несколько версий.
есть ли вероятность, что они тоже устареют?
Конечно, "есть шанс". Единственный способ узнать - зайти в ваш менеджер пакетов и посмотреть. И это может быть хорошей возможностью указать вашему менеджеру пакетов на более новый релиз, если он существует в upstream.