removido
(usa Nenhuma)
Enviado em 14/05/2022 - 23:16h
SamL escreveu:
Pior que não. Quando tu instala um software compilado no teu pc, é altamente recomendável NÃO ter ele instalado pelo apt, ou então, o apt vai lá e sobrescreve ele com uma versão antiga, por exemplo, mas essa versão é apenas nova no repositório do apt. É um dos maiores problemas no mundo linux. Se tu compilar uma lib com versão 2.x e no apt tiver ela já instalada com versão 1.x, então, num apt upgrade, essa lib 2.x irá ser sobrescita por uma versão própria do apt, já que a 2.x veio mais recente e nos repos do apt é provável que as versões seja mais antigas, ou ,melhor, o apt não tem como saber que versão foi instala pelo source, já que não há uma padronização nesse sentido.
Acho que isso é difícil de acontecer numa distro com rolling release, já que lá é de fato a última versão usada pra compilar e mandada pros sistemas cliente. O problema acima, eu me refiro a distros com versões LTS, tipo o Ubuntu e até o Debian stable.
Na verdade, qualquer pacote source compilado manualmente, seja pelo autotools (configure; make; make install), CMake, entre outros, normalmente vai parar em /usr/local, a não ser que seja especificado manualmente outro destino na etapa que antecede a compilação.
Os gerenciadores de pacotes como o apt, instalam libs e outros programas em /usr, e não em /usr/local. Ou seja, dessa forma nenhum arquivo é sobrescrito.
O que acontece é que as libs e binários localizados em /usr são priorizados no sistema, impedindo que libs "alternativas" sejam carregadas primeiramente.
Uma forma de carregar uma lib compilada manualmente e instalada em /usr/local/lib, é setar a variável $LD_LIBRARY_PATH antes de executar o programa no terminal, ou criar um arquivo .conf com o caminho absoluto da pasta da lib em /etc/ld.so.conf.d.