Revista Do Linux
 
  
  
 

  Capa
  Evento
  Serviço Público
  Tutorial Programação Shell
  Tutorial PHP
  Software
  Entrevista
  Filosofia
assinantes
 

Instalando software a partir do código-fonte

Imagine a situação: passeando por um repositório de software, como o Freshmeat.net, você encontra o software perfeito para resolver aquele problema que lhe atormenta há meses. O problema é: não existe um pacote binário para sua distribuição ou o que existe é muito antigo e não tem justamente aquele recurso de que você mais necessita. E agora, o que fazer?

Neste caso, a única saída é instalar o software a partir do código-fonte. Este é o objetivo deste artigo. Na maioria das vezes, esse é um processo bem simples, mas quando não se sabe como fazer, até o simples pode ficar complicado...

Descompactando o arquivo

Geralmente, o código-fonte está disponiível para download em arquivos com a extensão .tar.gz ou tar.bz2. Para usá-lo, os arquivos precisam ser descompactados com o comando tar, da seguinte forma:

  • Para arquivos tar.gz: tar -xvzf nome_do_arquivo
  • Para arquivos tar.bz2: tar -xvjf nome_do_arquivo

    Pode ser que você encontre algum arquivo com a extensão .tar.Z, um formato praticamente esquecido, que pode ser descompactado com o comando: tar -xvZf nome_do_arquivo (note o Z em maiúsculas)

    Para quem quer saber o que significam estes sufixos, segue a resposta: o .tar (Tape ARchive) indica um arquivo que contém vários outros. Os sufixos .gz, .bz2 e .Z indicam que o arquivo tar foi compactado, com um dos vários utilitários disponíveis (respectivamente: gzip, bzip2 e compress).

    Para os apressados

    Normalmente, basta digitar a seqüência de comandos abaixo para compilar um software:

    cd diretório_que_o_tar_criou ./configure make make install

    O ./configure analisa seu sistema, verifica dependências e bibliotecas e gera o Makefile, arquivo usado na compilação. O make compila o software, tendo como guia o Makefile, e o make install instala o programa em seu sistema. Mas, nem sempre as coisas acontecem como deveriam. O melhor é dar uma boa olhada no método não-apressado.

    Para os não-apressados

    README/INSTALL

    A primeira coisa a fazer é ler o arquivo README ou o INSTALL que acompanha o programa. Isto é muito importante, já que alguns programas usam métodos diferentes de instalação. Em vez do ./configure, por exemplo, utilizam o xmkmf.

    Normalmente, os desenvolvedores deixam bem claros os passos necessários à instalação do programa. Afinal de contas, eles querem que seus softwares sejam usados. Noventa por cento dos problemas de instalação/compilação ocorrem porque alguém não leu direito (ou nem leu) a documentação.

    ./configure --help

    Nem sempre o ./configure é simples e, às vezes, ele ativa recursos do programa que você não quer, enquanto deixa de fora os de que você necessita ou gostaria de ver ativados. Para solucionar este problema, nada como dar uma olhada na documentação do próprio configure, o que é possível com a ajuda, acessível por meio do parâmetro --help. Com isto, você pode ver as diversas opções disponíveis e utilizá-las para acertar as coisas, caso algo dê errado.

    Um exemplo de parâmetro que pode ser alterado é o local de instalação do software, normalmente /usr/local, mas você pode querer colocá-lo em outro lugar (no /opt por exemplo). Uma rápida consulta à ajuda nos informa que devemos usar o parâmetro --prefix, e o comando ficaria assim:

    ./configure -prefix=/opt
    

    Outros parâmetros servem para indicar onde estão instaladas as bibliotecas do seu sistema, os includes, se o suporte a determinado tipo de arquivo deve ser compilado, etc... Tudo isto você encontra acessando o help.

    make e make install

    O make não tem segredos. Aliás, se você não sabe nada sobre como instalar algo a partir do código-fonte, provavelmente não terá muito que fazer, caso o make apresente algum problema.

    Atenção ao comando make install: ele precisa ser executado como root (pelo menos em 99,9% dos casos) e instalará o seu programa no lugar apropriado. Mas... como desinstalar?

    Alguns programas têm a opção make uninstall. Mas, para isto, é necessário manter guardado o código-fonte, o que nem sempre é possível. A melhor coisa a fazer, é criar um pacote com o código fonte que você compilou. Assim, você pode instalar e desinstalar à vontade o programa. Um ótimo utilitário para isto é o checkinstall, que cria pacotes Slackware, Debian ou RPM.

    O modo de usar é bem simples, ao invés de make install, digite checkinstall e responda algumas perguntas. Se não quiser respondê-las e preferir algo mais rápido, use checkinstall -y -S. Este comando irá responder YES a todas as perguntas e criar um pacote Slackware com o código que você compilou. O checkinstall se encontra no repositório /extra do Slackware (você também pode procurá-lo no Freshmeat.net, ou no onisciente Google)

    Espero que este roteiro seja útil para quem estava perdido com os tais tar.gz e mensagens do tipo "compile o progama xxx" como resposta em listas de discussão.

    Com um pouco de paciência e atenção, não há como errar ao compilar um programa


    Piter Punk - piterpk@terra.com.br


  • A Revista do Linux é editada pela Conectiva S/A
    Todos os Direitos Reservados.

    Política de Privacidade
    Anuncie na Revista do Linux