Qual a melhor solução para solucionar um script de configuração do pacote fonte?

0

Eu tenho tentado compilar o pacote GnuTLS a partir do código-fonte, como parte de um sistema BLFS (Linux From Scratch). Aqui é a página do LFS para isso.

Eu instalei todos os pacotes necessários e recomendados que estão listados nessa página; no entanto, quando eu executei ./configure no topo da árvore fonte para o GnuTLS, de acordo com a saída do script, ele não pareceu encontrar vários desses pacotes, por exemplo valgrind, libunistring, libtasn1.

Então, estou apenas imaginando qual é a melhor maneira de solucionar isso, se um script de configuração não funcionar corretamente? Eu dei uma olhada em config.log , mas isso não pareceu muito útil (pelo menos no caso de valgrind). Eu também tentei dar uma olhada no próprio script de configuração, mas é um monstro de 40.000 linhas.

Ok, acho que fui um pouco bobo e entendi mal o script de configuração. O resumo da configuração disse isso:

configure: summary of build options:

  version:              3.5.14 shared 44:6:14
  Host/Target system:   x86_64-pc-linux-gnu
  Build system:         x86_64-pc-linux-gnu
  Install prefix:       /usr
  Compiler:             gcc
  Valgrind:             no 
  CFlags:               -g -O2
  Library types:        Shared=yes, Static=no
  Local libopts:        yes
  Local libtasn1:       no
  Local unistring:      no
  Use nettle-mini:      no
  Documentation:        yes (manpages: yes)

O que eu levei para significar que não havia encontrado esses pacotes (eu interpretei 'Local' como significando 'no meu computador'). No entanto, pesquisando em mais detalhes através da saída, encontrei estes:

checking for LIBTASN1... yes
checking whether to use the included minitasn1... no

checking for libunistring... yes
checking how to link with libunistring... /usr/lib/libunistring.so

Parece que realmente encontrou esses pacotes, e 'Local' no resumo deve estar se referindo à própria versão interna do GnuTLS dessas bibliotecas. Foi um pouco confuso, mas faz sentido agora. Para valgrind, vejo isto:

checking for valgrind... valgrind
checking whether self tests are run under valgrind... no

Então, novamente parece ter encontrado, embora não pareça querer usá-lo para os auto-testes, por algum motivo.

Enfim, vou em frente e construí-lo e ver se ele testa ok.

    
por Time4Tea 17.11.2017 / 15:36

1 resposta

1

config.log deve conter o motivo exato pelo qual configure falhou, mas pode ser difícil encontrá-lo. Para fazer isso, você deve começar do final de config.log ; lá você verá um dump do estado configure completo no ponto em que parou, o que é assustador, mas se você pular, você deverá encontrar o erro que quebrou configure . Procure Running config.status e role para cima ...

No caso de uma configuração gerada pelo Autoconf, não há muito sentido em ler configure em si; é muito mais útil analisar seu código-fonte, configure.ac (ou configure.in se for um software antigo), juntamente com qualquer arquivo .m4 que tenha sido inserido.

    
por 17.11.2017 / 15:51