Como compilar aquele jogo / programa que acabei de baixar

Vamos supor você acabou de baixar o código fonte do seu jogo ou programa favorito e deseja compilá-lo para poder apreciá-lo. Como realizar uma tarefa tão titânica? Não se preocupe, compilar e instalar esse jogo / programa no Linux não é tão difícil quanto parece.

Procedimento de construção e instalação

Sempre que você baixa o código-fonte de um programa, ele vem compactado em um arquivo que, no Linux, é geralmente do tipo tar.gz ou tar.bz2. Claro, ele pode vir em qualquer outro formato (zip, por exemplo), mas essa geralmente é a regra.

Portanto, a primeira etapa é descompactar esse arquivo. O método mais fácil é abrir o Nautilus, clicar com o botão direito no arquivo em questão e selecionar Descompacte. O método que veremos aqui, no entanto, é o usado pelo terminal.

Depois de descompactado o arquivo, será criado um diretório ao qual devemos acessar e a partir do qual iniciaremos a configuração e compilação do programa.

Quando você faz tudo isso no terminal, os comandos a serem usados ​​são:

tar xvzf package.tar.gz (ou tar xvjf package.tar.bz2) cd pacote ./configure make make install

Esses são os comandos que geralmente se deve seguir, mas seria aconselhável analisar cada uma dessas etapas em maior profundidade, para entender bem o que elas implicam.

Etapa 1: descompressão

A extensão tar.gz ou tar.bz2 significa que o código-fonte que você baixou está compactado em um arquivo tar, também conhecido como tarball. Isso simplifica muito a disseminação do código-fonte, pois todos os arquivos e pastas que o compõem são empacotados em um único arquivo. Uma vez empacotado, dentro do arquivo tar, esse arquivo é compactado usando o algoritmo gz ou bz2, dependendo do gosto do desenvolvedor.

Para descompactar um arquivo tar.gz, escrevi:

tar xvzf package.tar.gz

No caso de um arquivo tar.bz2:

tar xvjf package.tar.bz2

Na maioria dos casos, isso criará uma pasta dentro do diretório onde o arquivo compactado está localizado. O nome da pasta será o mesmo do arquivo compactado.

Etapa 2: configuração

Depois de entrar na pasta criada descompactando o arquivo tar.gz ou tar.bz2 ...

pasta cd

… É hora de configurar o pacote. Normalmente, mas nem sempre (por isso é importante ler os arquivos README e INSTALL), isso é feito executando o script de configuração:

. / Configure

Ao executar este script, nada será instalado ainda, apenas o sistema será verificado e os valores serão atribuídos a algumas variáveis ​​dependentes do sistema. Esses valores são usados ​​para criar um Makefile. O Makefile, por sua vez, é utilizado para criar o arquivo binário que, ao final da história, permitirá a execução do programa.

Ao executar esse comando, você verá que a tela é preenchida com muitas mensagens um tanto enigmáticas. Em caso de erro, aparecerá uma mensagem; e se tudo correr bem, podemos pular para a próxima etapa. 🙂

Etapa 3: construir o binário

É hora de construir o arquivo binário, que nada mais é do que o executável do programa. Em outras palavras, esse procedimento envolve a transformação de arquivos escritos em uma linguagem de programação de alto nível em zeros e uns puros, ou seja, a única linguagem que nosso computador entende.

fazer

Para que esse comando seja bem-sucedido, a etapa anterior deve ter sido bem-sucedida. Sem o Makefile, o make falhará. É por isso que é tão importante que o script de configuração seja executado com êxito.

Sim, a tela ficará cheia de mensagens estranhas novamente e provavelmente demorará um pouco para terminar. Isso vai depender do tamanho do programa e da velocidade do seu computador.

Etapa 4: instalação

Claro, já temos o executável, mas falta a instalação. Esta etapa deve ser realizada com privilégios de administrador.

sudo make install

Como neste caso hipotético não fizemos nenhuma alteração no arquivo de configuração, o programa será instalado na pasta padrão. Em geral, isso geralmente é / usr / local / bin já que permite que de qualquer lado ao escrever o nome do programa este seja executado (sem ter que inserir o caminho completo do programa).

Etapa 5: Execução

Não, nós não matamos ninguém. É simplesmente a etapa culminante de todo o processo de construção e instalação. Para executar o programa que meticulosamente convertemos em binário, escrevi:

./nome do programa

Se o programa foi instalado em outra pasta, diferente de / usr / local / bin, você deve inserir o caminho completo do programa.

Limpando o rancho

No caso de você ter muito, muito pouco espaço em disco, você pode querer excluir todos os arquivos criados durante o processo de construção do binário. Nesse caso, acessei a pasta criada descompactando o arquivo e digitei:

fazer limpo

Nota: certifique-se de manter seu Makefile. Este arquivo será necessário ao desinstalar o programa no futuro.

Desinstalar

O programa não era o que esperávamos e queremos apagá-lo do nosso sistema. Como? O programa que acabei de instalar não está aparecendo no Centro de software ou no Synaptic? E agora?

Caso você não tenha excluído seu Makefile, é possível desinstalar o programa facilmente. Escrevi o seguinte comando dentro da pasta criada ao descompactar o arquivo:

fazer desinstalação

Se você teve azar e a desinstalação não foi bem-sucedida, não haverá escolha a não ser excluir os arquivos manualmente. Uma verdadeira dor de cabeça. Para descobrir onde esses arquivos estão localizados, você pode dar uma olhada em seu Makefile.

Caso você tenha excluído o Makefile, é melhor reinstalar o programa e então fazer fazer desinstalação, pois isso irá regenerar o Makefile. Não se esqueça de instalá-lo usando as mesmas configurações (neste caso, nenhuma) no . / Configure.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Alex dito

    Bom tuto muito obrigado, sempre quando começamos no Linux um dos principais problemas é como compilar, bem explicado, embora seja aconselhável ler o readme ou instalar ...

  2.   Alex dito

    Bom tuto muito obrigado, sempre quando começamos no Linux um dos principais problemas é como compilar, bem explicado, embora seja aconselhável ler o readme ou instalar ...

  3.   Emiliano Pérez dito

    «Se não teve sorte e a desinstalação não foi bem sucedida, não haverá escolha a não ser apagar os arquivos manualmente. Uma verdadeira dor de cabeça »

    É mais aconselhável reinstalá-lo e, em seguida, "fazer desinstalação", pois o Makefile será gerado novamente. É importante instalá-lo usando as mesmas configurações (neste caso, nenhuma) no configure.

  4.   banheiro dito

    Agora, se você não quiser executá-lo colocando o nome do programa, mas criar um atalho para a área de trabalho ou fazer com que ele apareça no menu de aplicativos, como deve fazer?
    saudações!

  5.   kiwi_kiwi dito

    Bom tutorial. Agora até eu posso compilar.

  6.   marcoshipe dito

    Acho que o segundo passo seria ler o readme (RTFR xD) e é o mais fundamental de todos, já que muitos programas têm dependências que você deve cumprir na instalação, ou alguma etapa extra é necessária ou também é bom que você o lê porque fornece boas opções para a marca que nos interessa.

    saudações!

  7.   Vamos usar Linux dito

    Completamente! É por isso que recomendo sempre ler README e INSTALL.

  8.   Vamos usar Linux dito

    Você está certo. Isso, caso você não tenha o Makefile. Eu estava falando sobre o caso de que mesmo tendo o Makefile ele não poderia ser desinstalado por algum outro motivo.
    De qualquer forma, vou adicionar seu comentário ao post, que acho muito pertinente e preciso.

    Um abraço e obrigada por comentar! Paulo.

  9.   Vamos usar Linux dito

    Tudo bem Krafty! Ninguém se ofende. Escrevi este post porque nunca havia abordado o assunto no blog. De qualquer forma, tomo nota dos tópicos que você recomenda (alguns muito bons). Certamente, escreverei sobre eles em um futuro não muito distante.
    Um grande abraço e obrigado por deixar seus comentários! Paulo.

  10.   astuto dito

    Não quero ser mesquinho, mas esse assunto já foi discutido várias vezes neste ano.

    Proponho alguns tópicos para que vejam que não deixo um comentário apenas para fazer um bardo.

    - Telefonia sobre IP
    - Diferentes clientes Torrent (qual escolher).
    - Criação de scripts daquelas coisas que temos repetidamente no console.
    - Remova os módulos do kernel para que ele inicialize o Linux mais rapidamente ao inicializar.

    Espero não ter ofendido / incomodado ninguém

  11.   convidado dito

    ótimo, ótimo para aqueles de nós que começaram a se familiarizar com o Linux

  12.   Vamos usar Linux dito

    Sim. Geralmente, eles são detalhados no README. Caso contrário, ao compilar aparecerá um erro e com base no erro (que dirá qual biblioteca está faltando) teremos que instalar a dependência apropriada.
    Um abraço! Paulo.

  13.   Violoncelos dito

    Krafty, você definitivamente tem más vibrações. Onde você viu um tutorial como este, tão claro e explicativo? para mim é excelente, salu2,

  14.   rv dito

    Muito obrigado pelo guia! Me ajudou a esclarecer algumas coisas 🙂

    A propósito, uma dica que funcionou muito bem para mim resolver o problema das dependências é fazer primeiro de tudo 'sudo apt-get build-dep program_name'; Não sei se funciona em todas as distros, usei-o no Debian (Squeeze, onde recentemente compilei o MuseScore 1.2 para aliviar os repositórios arcaicos do branch estável ... 😉

    Imagino que alguém mais informado possa dar detalhes mais precisos 🙂

    Saudações!

  15.   rosgory dito

    Não deveríamos levar em consideração as dependências que o programa precisa antes de compilar?

  16.   Diego garcia dito

    Tenho pouco tempo de uso do linux, e esta é uma das minhas maiores dúvidas, será muito útil já que não havia encontrado nenhum post com este tópico em particular 😀
    ou você conhece algum?
    Felicidades..

  17.   quadros dito

    ótimo, eu não tinha visto esse post, mas porque é que é tipo 1 ou tipo 2

  18.   ícone dito

    Não existe outro método?
    Este método eu já usei com sucesso. O problema é que existem muitos programas de código-fonte que não usam este sistema, não temos o script de configuração. Eu gostaria de como compilá-los.