/ usr / local / lib contém bibliotecas cujos relatórios do Aptitude não estão instalados

0

Eu estou tentando construir um projeto que usa uma biblioteca específica (SDL) no Ubuntu. O projeto usa a versão antiga da biblioteca (libSDL-1.2). Eu cometi o erro de instalar a mais nova biblioteca, mas depois a removi. No entanto, ainda posso encontrar traços dele em vários diretórios de biblioteca do Ubuntu.

Em alguns diretórios existe uma versão apropriada ( / usr / lib / i386-linux-gnu / ) enquanto em outros há a versão mais nova e errada ( / usr / local / lib / ). Por que eu tenho essas inconsistências e como remover completamente a libSDL2?

    
por Primož Kralj 16.06.2015 / 15:08

1 resposta

3

/usr/local/ contém arquivos que não são instalados pelo gerenciador de pacotes, seja devido a uma instalação manual ou arquivos adicionais baixados, por exemplo, um script de instalação a partir de um pacote (embora esses sejam principalmente para /opt/ ).

O APT não está ciente dos arquivos abaixo desse diretório. Se você instalou as bibliotecas manualmente, por exemplo extraindo um arquivo lá, você também deve ser capaz de removê-los da mesma maneira.
Pague, no entanto, atenção se você não instalou manualmente. Neste caso, por favor, diga-nos como você os instalou para receber mais e melhor ajuda.

Outra possibilidade é que as bibliotecas possam estar lá porque elas podem ter sido baixadas por outra coisa, e não a partir da instalação da libsdl2 usando o APT. Por exemplo. O mecanismo de origem da válvula usa o SDL2. Quando você instala um jogo baseado em código-fonte, por exemplo Half Life ou Portal, o Steam fará o download de suas próprias bibliotecas (embora as mantenha no diretório inicial dos usuários). O pode vir de algo similar. Se você não tem idéia de onde eles vêm, deixe-os em paz. Eles não irão perturbar o seu desenvolvimento, se feito corretamente (veja abaixo) e a exclusão pode quebrar alguma outra aplicação.

Se você quiser continuar usando o SDL1.2, poderá fazê-lo sem remover as outras libs: Diga ao compilador / vinculador para usar as bibliotecas mais antigas. As bibliotecas compartilhadas SDL2 são sempre chamadas de libsdl2-....so , portanto, basta vincular-se às bibliotecas corretas sem o sdl2 .

    
por s3lph 16.06.2015 / 15:48