Compilação de programas

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!🙂

3 Responses to “Compilação de programas”


  1. 1 Genival Junior 23/06/2009 às 9:08 PM

    OK NIX, adorei o post inclusive por que eu consegui compilar o navegador em modo texto🙂 muiiito legal rs navegar em modo texto é um barato🙂
    Só que a compilação é um processo esquisito né??? Vc dá o make e ele dá uma mensagems esquisitas num da pra saber direito se foi tudo ok ou deu erro, ele podia dar um ok correu tudo bem rsrs não custava.
    Deposi do make install pra mim tinha dado erro rs só que que correu tudo bem por que o links funcionou🙂
    T+

  2. 2 Nix 25/06/2009 às 11:53 PM

    Ola Genival!
    Muito obrigada pelo comentário.
    Entao… o configure e o make sao de uma loquacidade que pode deixar a gente no escuro mesmo… mas pra saber se deu algum erro, ou você olha nas mensagens finais desses comanddos ou entao, quando você usa o configure, ele geralmente loga alguma coisa em um arquivo config.log. Ja no make, olha as mensagens finais pra ver se tem algum [ERROR]. Mas a dica e sempre ler o README e o INSTALL pra ver se problemas que voce pode encontrar durante a compilacao ou programas que precisam estar instalados para que a compilação seja feita com sucesso😉 .


  1. 1 INTRODUÇÃO AO MUNDO LINUX « Trackback em 26/06/2009 às 4:09 PM

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
junho 2009
S T Q Q S S D
« maio   jul »
1234567
891011121314
15161718192021
22232425262728
2930  

Flickr Photos

Morning Silence

Mais fotos

%d blogueiros gostam disto: