O que é a compilação “padrão” do código e instalar o encantamento?

2

Eu sei que existe um tipo de série padrão de comandos para compilar e instalar pacotes que vêm apenas como fonte. O que é isso?

    
por brendanjerwin 17.05.2009 / 20:21

4 respostas

11

Geralmente é algo assim.

./configure

Isto (quando executado no diretório seu código-fonte é), cria um Makefile com as regras que serão usadas para construir o programa. É aqui que você pode mudar o comportamento da compilação (isto é, compilar o programa com opções que não são padrão).

make

Isto constrói o programa com as regras especificadas no Makefile.

make install

Isso geralmente é executado como root (ou usando sudo make install para evitar o login como root) e instala o programa compilado em seu sistema.

[EDITAR]

Como Mihai Limbasan observou, normalmente você pode passar a opção --prefix para ./configure para determinar onde o programa será instalado. Se você tiver as permissões necessárias no diretório de destino, nem precisará executar make install usando o sudo (ou como root).

Por exemplo, se você fizer

--prefix=/home/username/whatever/directory/here

você deve conseguir instalar este programa sem privilégios de root. Devo salientar que isso restringirá o uso do programa àqueles com privilégios de execução no diretório que você especificou. Portanto, se você precisar de uma instalação ampla, provavelmente deverá usar a solução padrão (executando o make install com privilégios de root).

Mihai também lembrou que você pode remover o programa instalado executando

make uninstall

(novamente, como root ou usando o sudo se você usou as opções padrão no configure), mas isso requer que você mantenha o diretório de compilação no lugar depois de instalar o programa. Ou seja, não é prática recomendada remover o diretório de origem de um programa que você compilou, para que você possa removê-lo posteriormente.

    
por 17.05.2009 / 20:23
2

O que eu recebo a fonte para uma aplicação, a primeira coisa que faço é ler o arquivo README / INSTALL padrão. Eles geralmente me dizem exatamente o que eu preciso fazer. Eles me dizem quais dependências eu devo instalar antes de compilar para obter todas as funcionalidades que eu quero. Eles me dizem o que preciso fazer para garantir a instalação.

less INSTALL
less README

Tome de 3 a 5 minutos e leia os documentos que podem poupar muito tempo.

    
por 17.05.2009 / 21:20
1
  1. tar -xzvf package.tar.gz
  2. cd package /
  3. menos INSTALAR
  4. ./ configure --with-options
  5. fazer
  6. efetue uma verificação
  7. sudo make install
  8. tornar limpo

Essas etapas pressupõem que o pacote seja compilado corretamente, que todas as dependências sejam atendidas e que o destino "verificar" exista e passe.

    
por 17.05.2009 / 22:20
0

para o seu ./configure você pode querer usar ./configure --help primeiro, pois isso mostrará as opções de configuração que podem ser passadas para configurar. Isso será particularmente útil se você estiver tendo problemas com sua compilação ou não quiser algum suporte fornecido pelo pacote.

o cheque às vezes é substituído pelo make test também. Eu recomendaria tentar isso em qualquer software que você esteja compilando antes da instalação.

    
por 18.05.2009 / 15:23