Como Compilar um Código Fonte(Source Code)

“Compilar significa que uma linguagem será convertida para uma linguagem de processador, um idioma que o processador entende.”

Geralmente, programas em linux são encontrados em duas formas:

Código Fonte(Source Code): o código fonte é nada mais que arquivo(s) de texto(s) que necessita ser convertido para linguagem de processador; ou seja, código fonte não é legível para o processador.
 Binário: Um código fonte compilado;

  • Se você baixou um  código fonte de um certo programa, para instalá-lo terá que compilar e só depois realizar a instalação do mesmo.
  • Se você baixou o binário de um programa já estará com a faca e queijo em mãos, bastará apenas realizar a instalação.  São exemplos de binários os arquivos:  .jar,  .deb, .rpm etc…
  • Um Código Fonte(source code) pode ser convertido para binário por meio do uso de programas conhecidos como “compiladores” ou compiler( em inglês 🙂  ). O compilador mais conhecido, por nós, amantes linux, é o CCG, pertencente ao famoso e renomado Richard Stallman, do FSF(Free Software Foundation).  O GCC(Gnu Compiler Collection) é na verdade uma coleção de compiladores, um pacote;  nesse pacote há compilador para linguagens C, C++, Fortran etc… Visite a página oficial para maiores  informações: https://gcc.gnu.org

Binários são específicos e customizados para certas plataformas ou Sistemas. Por exemplo,
– Um Binário feito para  ubuntu pode não ser executado no fedora;
– Binário customizado para um processador PowerPC não será instalado para um computador com processador x86-64, mesmo os se dois computadores estiverem rodando linux.

 

Compilando um Código Fonte

 

Fazendo Download do Código Fonte

  1. Iremos baixar o source code para instalar o editor de texto nano. Se desejar realiar o procedimento com outro código fonte pode encontrar pesquisar em https://sourceforge.nethttp://freshmeat.net   ou no site oficial do referido programa que esteja procurando.
  2.  O diretório /usr/src serve como local para guardar os códigos fontes. src é abreviação de source. Acesse o diretório usando o comando cd.
    [elder@centos ~]$ cd /usr/src
  3. Utilize o wget para baixar o source code do nano. (w = web, get = pegar).
    [elder@centos src]$ wget https://www.nano-editor.org/dist/v2.8/nano-2.8.7.tar.gz

    O link acima peguei do site oficial do nano: https://www.nano-editor.org/download.php

  4. O arquivo foi salvo na pasta atual, em /usr/src e se trata de um arquivo empacotado(Um arquivo que contém vários arquivos) e comprimido(com tamanho reduzido). Use o tar para extrair os arquivos:
    [elder@centos src]$ sudo tar xvf nano-2.8.7.tar.gz
  5.  Foi gerada a pasta nano-2.8.7 contendo o conteúdo extraído do tarball(Arquivos criados com o comando tar) . Acesse a pasta com o comando cd.
    [elder@centos src]$ cd nano-2.8.7
  6. Liste os arquivos do diretório com o comando ls
    [elder@centos nano-2.8.7]$ ls
    ABOUT-NLS            config.guess  depcomp       Makefile.in    README.GIT
    aclocal.m4           config.h.in   doc           missing        src
    ar-lib               config.rpath  IMPROVEMENTS  mkinstalldirs  syntax
    AUTHORS              config.sub    INSTALL       nano.spec      THANKS
    ChangeLog            configure     install-sh    nano.spec.in   TODO
    ChangeLog.1999-2006  configure.ac  lib           NEWS
    ChangeLog.2007-2015  COPYING       m4            po
    compile              COPYING.DOC   Makefile.am   README

    Marquei de vermelho alguns arquivos importantes e comuns em todos códigos fontes:
    – ChangeLog: Contém um histórico de alterações no software
    – COPYING: Licença de uso
    – NEWS: Outro texto contendo um histórico das alterações. Porém com um texto menos técnico que o COPYING
    – README: Documentação Geral
    – INSTALL: Instruções de instalações

    Se tiver dificuldade para ler textos em inglês use o google translator. Os arquivos README e INSTALL são muitos importantes para a instalação, contendo informações importantes e ou pertinentes apenas a este código fonte.

 

./configure – Preparando o Terreno

 

“./Configure prepara o terreno para a instalação.”

Dentro do diretório extraído, geralmente, existe o script configure que  faz ajustes específicos para o seu computador e realiza checagem em busca de bibliotecas e ferramentas úteis. Você pode executar esse script sem parâmetro, da seguinte forma:

./configure
ou pode especificar junto com um dos seguintes parâmetros abaixo:
./configure –help =  Exibe uma tela de ajuda com algumas opções;
./configure –quiet = Exibe menos informações enquanto o script é executado;
./configure –prefix=diretório =  Instala o programa no diretório especificado;
./configure –enable-debug=XXX = Habilita ou Desabilita debug(Procura de Erros) durante a instalação. o XXX pode ser substituído por:  ARG(significa yes/sim), no(significa não 🙂 ) e full(Significa uma debug completo)
./configure –disable-debug = Desabilita o debug;

  1. Execute o script “configure”. :
    [elder@centos nano-2.8.7]$ sudo ./configure
    
     Obs.: Digite “./” antes do nome do arquivo para dizer ao sistema que você se refere ao arquivo configure do diretório atual. Utilize o sudo se seu usuário não tiver permissão.

    “Nem todo Software contém o script configure. Consulte a documentação!”

 

Make – Compilando

 

Agora que o configure preparou o terreno sem erros, iremos realizar a compilação; para isso utilizaremos o comando make(fazer).

“O make printa na tela mensagens de warning(alerta), não se preocupe, isso é normal, significa que o criador do código fonte usou algum comando que poderá não ser suportado no futuro ou que poderia deixar seu linux um pouco vunerável. 🙂 “

  1. Faça a compilação com o comando make, use o sudo para evitar problemas de permissões:
    [elder@centos nano-2.8.7]$ sudo make

     

make install – Instalando o Programa

 

Uma vez que tenha compilado nos resta a instalação. Geralmente o programa instalado será armazenado em /usr/local.

“Nem todo código fonte oferece um install para o make. Às vezes, você terá que usar o comando cp para copiar manualmente os arquivos e diretórios para o destino correto. Consulte a documentação do código fonte!.”

Antes de executar o make install, é bom conhecermos alguns parâmetros dele:

-b ou –backup = cria um backup de cada arquivo que exista no destino durante a cópia.
-g GRUPO ou –group=GRUPO =  altera o grupo dos arquivos instalados para GRUPO.
-o PROPRIETARIO ou –owner=PROPRIETARIO = altera o proprietário dos arquivos instalados para PROPRIETARIO.
-v ou –verbose = Exibe o nome de todos os arquivos e diretórios enquanto eles são copiados.

  1. Execute make install para realizarmos a instalação do nano.
    [elder@centos nano-2.8.7]$ sudo make install

Conclusão

 

Pronto, seu programa foi instalado por meio da compilação. A vida antigamente não era nada fácil, tínhamos que compilar muito e sofrer com os erros de dependências que faltavam, hoje está tudo mais fácil e é muito mais comum encontrarmos os binários já prontos para a instalação.

Espero que tenham gostado, Até a próxima!!!

Siga-nos em nossas redes:

Link Facebook: https://www.facebook.com/gnulinuxbr

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

2 thoughts on “Como Compilar um Código Fonte(Source Code)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *