Estou tentando construir e instalar um cliente mutt no meu Slackware (14.2). Estou seguindo o configure && make && make install
procedimento padrão. Aqui estão minhas perguntas sobre o assunto.
- Como verificar se todos os 3 passos (configure, make, make install) deram certo? Estou certo de que posso redirecionar o erro std para um arquivo como esse:
.configure 2> configure_errors.log
make 2> make_errors.log
e então assumir que se o arquivo apropriado estiver vazio (sem erros), a etapa correspondente foi bem-sucedida?
- Quais são as opções padrão do
configure
script? Posso encontrar uma lista de opções com seus significados, mas não consigo encontrar quais são os padrões? - Gostaria de instalar o mutt no diretório personalizado ($HOME/mutt), mas a
--prefix
opção parece não funcionar. Quando eu adiciono--prefix=$HOME/mutt
oconfigure
script, ele acaba sendo instalado apenas no diretório a partir do qual eu emiti o script (esse é o diretório onde ele foi descompactado). Meu$HOME/mutt
diretório está vazio.
Responder1
1) A maneira usual de fazer isso (ou pelo menos como eu faço), se você não tiver certeza de que funcionará sem erros, é executar todas as etapas separadamente e apenas observar as mensagens do terminal.
Então faça isso configure
, observe-o reclamando sobre bibliotecas ausentes, instale pacotes para as bibliotecas ausentes, faça configure
novamente, etc., até que tenha sucesso. Em seguida make
, corrija erros nos arquivos de origem, se necessário (espero que não). Finalmente faça make install
, se necessário como root.
Redirecionar o erro padrão para arquivos de log parece desnecessariamente complicado, geralmente você verá o problema imediatamente. E o terminal pode ser rolado para cima. Ainda não encontrei um problema em que precisasse fazer isso, embora ocasionalmente tenha olhado para o log detalhado configure
produzido por conta própria (porque contém os programas de teste que tenta compilar) se não conseguisse descobrir exatamente o que havia de errado na mensagem de erro.
2) Não acho que haja uma maneira de encontrar padrões. Você pode consultar configure.in
, Makefile.am
etc. para ter uma ideia do que ele faz se uma opção específica não estiver clara. Com qual opção você tem dificuldade?
3) Em geral, para software autocompilado, recomendo instalá-los /usr/local
usando stow
, conforme descrito, por exemploaqui. A instalação em subdiretórios $HOME
só funcionará se você não estiver instalando nenhuma biblioteca ou outro material que já seja encontrado na /usr/local
maior parte do sistema, porque os caminhos de pesquisa para isso existem por padrão.
Infelizmente, todos os softwares lidam com a instalação de maneira um pouco diferente, mesmo com ferramentas automáticas, então não sei por que ele não foi instalado no --prefix
diretório. Quais foram as mensagens que você recebeu depois de digitar make install
? Eles geralmente informam onde ele tenta instalar tudo. Às vezes, partes ou todos os arquivos ignoram os vários prefixos e são instalados em outro lugar, então você precisa alterar Makefile.am
etc.