sexta-feira, 19 de junho de 2009

Compilar deixou de ser dificil...

Algumas vezes queremos instalar algum programa ou jogo que não está nos repositórios oficiais de Debian. Nesse caso o que fazemos é descarregar um ficheiro comprimido (seja ele zip, tar.gz, tar.bz2, etc) que contém o código fonte (em inglês: source file, ou source tarball, ou source code...).
Ora este código tem de ser compilado, ou seja, construido, antes de poder ser executado como programa inteiro.
Primeiro passo será descomprimir esse ficheiro zip, tar.gz, tar.bz2, etc, para dentro de uma pasta, conservando assim a estructura dos directórios ou pastas que se descomprimem. Botão direito do rato em cima do ficheiro: descomprimir > descomprimir em "nome-da-pasta". Ora o "nome-da-pasta" é o nome do nosso ficheiro comprimido.
Normalmente  temos de seguir 3 passos para compilar, se bem que o ultimo que se executa como superusuário apenas faz a instalação a nivel do sistema. No entanto convém sempre ler os ficheiro de instruções chamados README ou readme.txt. Aí encontraremos informação referente ás dependencias necessárias para construir o programa ou até mesmo indicações adicionais de como compilá-lo.


Norlmalmente temos 3 ordens para compilar, e que têm de ser executadas desde uma linha de comandos ou terminal.
Importante: As primeiras 2 ordens devem ser executadas como usuário normal, ou seja, o usuário que normalmente usamos ou qualquer usuário que tenhamos.


As ordens seriam:

configure
make
make install (esta ultima deve ser executada como root ou superusuário !)

A primeira ordem: 

configure
 
será executada com um "ponto" e uma "barra" antes da palavra "configure"
exemplo:

./configure

ou seja: "executa aqui onde estou". Esta ordem vai verificar se temos no nosso sistema instaladas as dependencias (pacotes, livrarias) necessárias para construir o programa, que será feito no seguinte passo chamado make.

Este comando dará uma série de linhas de saida no terminal. Isto é normal. Apenas está a ser apresentada a informação do que está a ser feito. O que temos de ter em conta é quando o processo termina e se nos dá algum erro.

Normalmente pode ser um erro que diga que falta a livraria ou pacote "xyz" porque não está instalada no sistema. Podemos então abrir o gestor Synaptic e instalar o que nos falta, podendo ser uma livraria do tipo -dev (desenvolvimento) ou não. Por vezes o nome na livraria pode variar um pouco, mas com synaptic podemos ver na descrição do pacote se realmente é o que queremos.

Feito isto podemos executar de novo:

./configure

Se houver outro erro indicando que falta mais alguma coisa... repetir o passo anterior
Terminado o processo de configuração, podemos passar ao de contrução com o comando make. Simplesmente temos de escrever na linha de comandos:

make


Nota: também como usuário normal
Este comando o que vai fazer é construir os ficheiros que faltam para a aplicação poder ser executada.
Depois deste segundo passo que pode demorar algo de tempo ou não, depende do tamanho do programa, ficheiros a processar etc, já temos o ficheiro executável para arrancar o programa.
Se quisermos instalar a nivel do sistema, apenas falta executar como superusuário o comando:

make install

E acaba aqui. Em principio ficaremos com o executável na pasta de sistema /usr/bin mas convém olhar a saida da linha de comandos quando termina a instalação,  já que á vezes que nos indica que foi instalado noutro sitio, ou pode também passar que a entrada de dito programa foi directamente adicionado ao respectivo menu principal do ambiente de trabalho.


Também há casos que que nao temos nenhum ficheiro configure e o que temos, entre outro ficheiros, é um ficheiro chamado makefile. Neste caso executamos directamente na linha de comandos:

make
 
Nota: executar como usuário normal.

Também pode-se dar o caso que o comando a executar é cmake em vez de make. Neste caso temos de ter instalado o pacote cmake, se não o temos o sistema reclamará a dizer que não existe. Instalamos dito pacote e executamos o comando.
Seja como for é recomendável ler sempre os ficheiros "readme" que vêm dentro do código fonte.

Boas compilações !

Sem comentários:

Enviar um comentário

É favor manter a boa educação nos comentários. Qualquer comentário ofensivo, racista, desprestigioso, apenas com objectivo de inundar o blogue ou comentários de publicidade não solicitada serão eliminados. Serão aceites comentários em Português, Espanhol e Inglês. Comentarios en Portugues, Español y Ingles seran aceptados. Comments in Portuguese, Spanish and English will be accepted.