![]() |
|
![]() |
|
| |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| Compilando código fonte |
Introdução: Neste artigo abordarei uma dúvida comum dos iniciantes no Linux: como compilar programas. Os tópicos abaixo referem-se aos procedimentos mais comuns para compilar software livre, além de suas vantagens, mas podem não se aplicar a todos os casos. A regra é: leia o README (além de documentos relacionados que acompanham o programa), para informações sobre o procedimento mais específico de compilação. Para prosseguir, certifique-se de ter as ferramentas de desenvolvimento necessárias em seu sistema (série D). Se o fonte .tar.gz seguir os padrões GNU, ele deve conter os seguintes arquivos em seu diretório principal:
Sobre o formato do arquivo tar.gz, em geral, o primeiro número representa a versão principal do programa. O segundo número representa uma versão menor de lançamento, quando apenas pequenas mudanças são adicionadas ao programa. O último número é o número do patch, ou nível de patch, e geralmente representa correções de bugs. Instalação: Basicamente, após adquirir o fonte, descompacte-o desta forma: cd /opt/src // diretório que conterá os fontes tar -zxvf fonte-1.2.3.tar.gz // descomapactando o programa fonte cd fonte-1.2.3 // entrando no diretório principal do programa Configure para seu sistema e, finalmente, compile o programa: ./configure make make install Só isso. Esta é a forma mais comum de se compilar um programa. O script configure é gerado pelo autoconf. Antes de executá-lo, digite:./configure --help para ter uma listagem das suas opções de compilação. Uma opção comum é usar --prefix=/usr para definir este como o diretório alvo de instalação. O GNU make será o responsável pela compilação, através das instruções contidas no Makefile gerado pelo script de configuração (configure). Apenas para o make install é necessário ter privilégios de root, pois este comando instalará o(s) arquivo(s) compilado(s) em seus diretórios comuns, como /usr/bin (binários), /usr/lib (bibliotecas) e /usr/man (manual). Para desinstalar, o comando é make uninstall. Se desejar recompilar o programa, e reconfigurá-lo, digite antes o comando make distclean para apagar o cache, ou make clear && rm config.cache caso o distclean não funcione. Alguns programas, como o nedit, não possuem uma regra de install no makefile. A forma mais simples de se instalar um programa, na realidade, é através do comando: # install -m 0755 nedit /usr/bin O parâmetro -m indica a permissão. Outro parâmetro comum é o -s, que indica ao install para remover símbolos de debug, e assim gerando um executál de menor tamanho. Vantagens: E qual a vantagem disto sobre a utilização de pacotes binários pré-compilados? O código-fonte disponível e aberto é a base do GNU/Linux. As possibilidades trazidas pelo software livre são muitas. Com o código do programa podemos:
Muitas vezes é necessário partir dos fontes, pois o pacote binário pode não conter as opções que você precisa. E nem sempre pacotes estão disponíveis para sua distro. Além disto, ao compilar um programa através dos fontes, ele será adaptado à sua máquina, e não a uma máquina genérica. Por exemplo, compilar o X com otimizações para seu MMX traz melhorias na performance geral deste software. Através dos fontes você pode também aplicar patches, o que não é possível em arquivos binários. Dependências: O script configure deve detectar eventuais problemas de dependências. Se ele retornar que há uma biblioteca faltando ou que a versão é incorreta, e você tiver a biblioteca, procure nas opções do configure uma forma de especificar o caminho correto desta lib (por ex: ./configure --with-qt-dir=/usr/lib/qt2). A biblioteca deve estar em algum caminho especificado no /etc/ld.so.conf. Para adicionar caminhos, execute como root ldconfig. Para verificar posteriormente as dependências do arquivo binário, digite ldd programa. Para listar as bibliotecas disponíveis: ldconfig -p. |
| Desenvolvido por JPL - © Copyleft 2003-2009 www.jpl.com.br | ||