Nesse post, vou falar sobre compilação de programas. É importante saber sobre compilação de programas porque nem sempre podemos contar com um pacote pré-compilado para nossa distribuição para instalar um determinado programa, ou então, temos que adaptar a instalação para alguma necessidade pessoal, ou corrigir algum problema.
Reza a lenda que esta é a forma mais complicada de se instalar um pacote, mas, sabendo o caminho das pedras, fica tudo mais fácil. Para compilar, basicamete precisamos ter um compilador C (geralmente o gcc, cpp e g++) e o make.
Aqui no post, vou mostrar a compilação de um browser para navegar em modo texto, o links. Uma coisa legal desse browser, é que ele também pode ser usado como navegador gráfico; para isso, basta que ele seja compilado com a opção de exibir gráficos.
O primeiro passo para compilar um programa, é fazer o download dele; geralmente basta acessar a página do projeto. No nosso caso, acessei http://freshmeat.net/projects/links para fazer o download.
Após fazer o download, vamos descompactar o código-fonte do programa e entrar no diretório. Geralmente, descompactamos em /usr/local:
# tar xzvf links-2.2.tar.gz -C /usr/local/
# cd /usr/local/links-2.2/
Em programas para compilar, o desenvolvedor sempre acrescenta dois arquivos que são importantíssimos: o README e o INSTALL. O README costuma trazer informações sobre o programa que será instalado, como usar o programa, features, etc. Já o arquivo INSTALL, traz informações de como instalar o programa, pacotes ou comandos necessários para que a compilação seja feita com sucesso. Para ler esses arquivos em modo texto:
# more README
# more INSTALL
Bom, lendo arquivo INSTALL, vi que é necessário algumas bibliotecas: libpng, IJG libjpeg, TIFF Library, SVGAlib, OpenSSL e zlib. Então, antes de compilar o programa, irei instalar as bibliotecas necessárias:
# apt-get install libpng12-dev libjpeg62-dev libtiff4-dev libsvga1-dev openssl libssl-dev zlib1g
Após instalar os pacotes necessários, podemos partir para a compilação. Em geral, quando vamos compilar um programa, ele sempre vem com um comando chamado configure.
A função do configure é checar se no sistema existe todos os componentes para que a compilação seja bem sucedida. Também podemos consultar o help do configure, que lista todas opções que podemos usar para compilar o programa e também funcionalidades que podemos retirar do programa para atender às nossas necessidades.
Para consultar o help:
# ./configure – -help
No meu caso, desejo habilitar o suporte à exibição de gráficos; para isso, preciso passar o parâmetro - -enable-graphics para que o links seja compilado com suporte a gráficos:
# ./configure – -enable-graphics
Após terminar o configure, podemos iniciar a compilação. Mas antes, é importante saber que o configure gera um arquivo chamado Makefile, que contém instruções de compilação e instalação do programa.
A compilação é coordenada pelo make, que segue um roteiro definido no Makefile, compilando e gerando os arquivos binários. Então, nosso próximo passo é executar o comando make:
# make
Se não ocorrer nenhum erro durante a compilação, podemos instalar:
# make install
Ai, para rodar o programa, é só chamar o binário links:
# links
Ou se quiser usar o links como um navegador gráfico, como mencionado no início do post, utilize a opção -g:
# links -g
Para remover os arquivos binários e objetos criados durante a compilação, utilizamos o make com a opção clean:
# make clean
Daí, se quiser remover tudo, após usar o make clean, remova o diretório de instalação e o binário compilado:
# rm -rf /usr/local/links-2.2/
# which links
/usr/local/bin/links
# rm /usr/local/bin/links
Bem, é isso aí! Até o próximo post!