A maioria dos softwares incluirá uma lista das dependências necessárias, embora a lista talvez não seja necessariamente da forma mais conveniente para você localizá-los e instalá-los.
Para dar um exemplo arbitrário, suponha que você queira compilar o Gnumeric, o aplicativo de planilha. Você faz o download do código fonte, e olha no arquivo README, que tem uma seção
Requirements
------------
You need: Debian package name
glib >= 2.28.0 libglib2.0-dev
gtk+ >= 3.2.0 libgtk3.0-dev
libgsf >= 1.14.24 libgsf-1-dev
libgoffice >= 0.10.1 libgoffice-0-8-dev
gnome-xml >= 2.4.12 libxml2-dev
pango >= 1.24.0 libpango1.0-dev
NOTE: gnome-xml is also known as libxml
Optionally:
python >= 2.0 python-dev
pygobject >= 3.0.0 python-gi-dev
The GDA plugin, for accessing databases
gda >= 1.3.0 libgda2-dev
libgnomedb >= 1.3.0 libgnomedb2-dev
Currently disabled:
guile >= 1.5 (no maintainer)
Runtime suggestions:
'yelp' for help
Agora, este é o melhor cenário, eles informam as bibliotecas necessárias e o pacote exato do Debian que você precisa instalar para obtê-las. Por exemplo, você apenas executaria
$sudo apt-get install libglib2.0-dev
para instalar a primeira dependência.
No entanto, a segunda coluna do "debian package name" não é tão comum na maioria dos pacotes de software. Em vez disso, eles terão apenas a primeira coluna "glib" e, possivelmente, um número de versão. Cabe a você corroborar a dependência nomeada "glib" com o nome do pacote debian (ou ubuntu, etc) "libglib2.0-dev". Geralmente, algumas pesquisas na web ou no fórum ajudam você a encontrar o nome do pacote.
Com alguma experiência, você notará padrões nos nomes dos pacotes que você precisa. Em geral, as bibliotecas são empacotadas com nomes libXXXX e, em geral, são separadas nos componentes de tempo de execução (libXXX) e nos arquivos de desenvolvimento necessários para compilar seu programa (libXXX-dev). Além disso, se você não conseguir encontrar o pacote certo por meio de uma simples pesquisa na Web, veja a mensagem de erro específica que você recebe ao tentar compilar. Se, por exemplo, um arquivo "glib.h" estiver faltando, você pode usar a pesquisa de pacotes da sua distribuição para encontrar pacotes contendo esse arquivo ou, mais geralmente, você pode procurar essas mensagens de erro na web para encontrar outras pessoas com o mesmo problema .
Cabe ao pacote a quantidade de informação que eles fornecem sobre as dependências necessárias, mas a técnica mais comum é listar o nome genérico da biblioteca necessária. A pessoa que compila o pacote é responsável por descobrir como instalar os arquivos de desenvolvimento dessa biblioteca na configuração específica do sistema.
Se você encontrar um software que não liste suas dependências de alguma forma, envie um relatório de bug e, enquanto isso, prepare-se para começar a ler algumas mensagens de erro.