Como um pacote é executado sem todas as dependências instaladas no sistema de destino?

2

Estou tentando construir a versão mais recente do subversion no Ubuntu 12.10 e estava tendo problemas para concluir ./configure , pois parecia que eu estava recebendo um fluxo interminável de configure: error: x not found messages. Instalei apr e forneci os caminhos para o arquivo apr-1-config para me livrar do primeiro, depois instalei sqlite etc. e atualmente estou trabalhando em configure: error: Expat not found .

Antes de tentar instalar 1.7.7 , acabei de usar apt-get install subversion , que instalou 1.7.5 e estava funcionando bem. A minha pergunta é: por que 1.7.5 funciona na minha máquina se eu não tivesse sqlite , apr e todas as outras dependências que parecem ser necessárias agora que sou da origem? O 1.7.5 não tem essas dependências ou elas foram instaladas durante o meu comando apt-get e eu precisei vinculá-las?

    
por stariz77 02.12.2012 / 04:28

1 resposta

6

Algumas distribuições (incluindo o Ubuntu) separam pacotes que contêm bibliotecas em dois pacotes: um contendo os arquivos necessários para executar programas que usam a biblioteca, e um pacote -dev contendo os arquivos necessários para < em> compile programas que usam a biblioteca. Então o que você está realmente perdendo são os vários -dev packages para ir com as bibliotecas que o Subversion precisa. Quando você apt-get install subversion , instala as bibliotecas, mas não os arquivos de cabeçalho e outros bits somente de compilação.

Por exemplo, instalar o subversion no Ubuntu 12.10 instala libsqlite3-0 , mas não libsqlite3-dev .

A execução de apt-get build-dep subversion deve instalar os pacotes -dev necessários para você.

    
por 02.12.2012 / 04:41