Preciso construir TODAS as dependências das fontes ao construir outro projeto a partir das fontes?

Preciso construir TODAS as dependências das fontes ao construir outro projeto a partir das fontes?

O repositório de pacotes da minha distribuição não possui a versão atual do pacote tmux que desejo. Baixei a versão mais recente em tar.gzformato do site. Porém, ao tentar fazer ./configureisso, o configure me disse que precisa de outras dependências. Minha pergunta é,é uma prática recomendada construir manualmente essas dependências a partir das fontes?Se eu fosse baixar essas dependências usando o gerenciador de pacotes de distribuição, há uma chance de queeles tambémestará desatualizado e haverá uma dependência mais antiga do que o tmux atual precisa?

Neste caso específico, estou tentando construir tmuxo 3.0a no Ubuntu 18.04.4 LTS e o pacote que está me dizendo que não existe é chamado libevent.

Responder1

Digamos que você precise do libevent versão 42.1.

Se o seu gerenciador de pacotes tiver libevent versão 42.5, vá em frente e instale-o. Não há necessidade de construí-lo a partir do código-fonte. Para construir software usando libevent, você precisará instalar os pacotes de desenvolvimento correspondentes; libevent-dev em distribuições baseadas em .deb, libevent-devel em distribuições baseadas em RPM.

Se o seu gerenciador de pacotes tiver apenas o libevent versão 40.3, você também precisará construir o libevent a partir do código-fonte (de uma versão superior a 42.1).

Recomendação: Instale tudo o que você compila a partir do código-fonte /usr/local(defina PREFIXantes de fazer ./configureou leia a documentação se este pacote fizer diferente). Dessa forma, o que você mesmo constrói e o que seu gerenciador de pacotes instala não entram em conflito. Eu uso stowpara isso também, então posso manter diversas versões.

há uma chance de que eles também estejam desatualizados

Claro que “há uma chance”. A única maneira de descobrir é ir ao gerenciador de pacotes e dar uma olhada. E esta pode ser uma boa oportunidade para apontar ao seu gerenciador de pacotes uma versão mais recente, se existir no upstream.

informação relacionada