Basicamente, se isso é uma atualização, e seu programa antigo também pode confiar em 0.24, eu recomendaria sobrescrever sua instalação de biblioteca anterior com a nova (que é o que chamamos de "upgrade" em um nível mais alto). Embora seja melhor gerenciar tudo isso com um gerenciador de pacotes, você pode estar preso a bibliotecas cuja origem não está disponível nos repositórios de sua distribuição.
Por padrão, as bibliotecas criadas manualmente vão para /usr/local/lib
, mas isso é decidido pelo script configure
. Se é possível, no entanto, mudar isso:
$ ./configure --prefix=/usr
$ make
$ sudo make install
Usando /usr
como um prefixo, objetos de bibliotecas irão para /usr/lib
, cabeçalhos para /usr/include
, configuração para /usr/etc
e assim por diante ... Isso deve basicamente sobrescrever sua versão anterior da biblioteca, já que os arquivos .so
de ambas as versões devem ter o mesmo nome se forem mantidos corretamente pelo desenvolvedor.
Agora, se você quiser manter 0,23 (por exemplo, se seu primeiro programa não manipular 0,24), você terá que especificar um caminho para a nova biblioteca (em /usr/local
) para seu último script configure
(aquele associado ao programa que requer 0,24).
Na maioria das vezes, os scripts configure
fornecem opções para especificar caminhos para as bibliotecas, para que as pessoas em tais situações possam ser específicas durante a instalação. Uma lista dessas opções deve estar visível em ./configure --help
. No seu caso, os padrões determinam que esse switch deve ser chamado de --with-libabc
ou --with-abc
:
$ ./configure --with-libabc=/usr/local/lib
Um bom exemplo disso é a dependência de libxml
do PHP:
$ ./configure --with-libxml-dir=...
Alguns scripts também podem fornecer uma opção --with-libdir
, que permite alterar completamente o caminho de pesquisa da biblioteca:
$ ./configure --with-libdir=...
Você também pode querer dar uma olhada em esta pergunta do Stack Overflow sobre o arquivo config.site
.