ソースパッケージ構成スクリプトの問題を解決するための最良の方法は何ですか?

ソースパッケージ構成スクリプトの問題を解決するための最良の方法は何ですか?

私はBLFS(Linux From Scratch)システムの一部としてソースからGnuTLSパッケージをコンパイルしようとしました。ここLFSページです。

そのページにリストされているすべての必須パッケージと推奨パッケージをインストールしましたが、スクリプト出力に./configure基づいてGnuTLSソースツリーの上部で実行すると、valgrind、libunistringなどの複数のパッケージが見つからないようです。 、libtasn1。

だから、設定スクリプトがうまくいかないと思うなら、この問題を解決するための最良の方法は何ですか?私はそれを調べてみましたがconfig.logそれほど役に立たないようです(少なくともvalgrindの場合)。また、構成スクリプト自体を調べましたが、40,000行を超えるモンスターです。

まあ、私は少し愚かで構成スクリプトを誤解したと思います。構成の概要には次のように記載されています。

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)

私はこれがパッケージが見つからないことを意味すると思います。 (私は「ローカル」を「私のコンピュータに」を意味すると解釈します)。しかし、出力をより詳細に検索して、次のことを見つけました。

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

これらのパッケージが見つかったようで、要約の「ローカル」はこれらのライブラリのGnuTLS独自の組み込みバージョンを参照する必要があります。その時はちょっと混乱していましたが、今は理解できますね。 Valgrindの場合、次のように表示されます。

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

だから私は再び見つけたようですが、何らかの理由でそれ自体のテストに使用したくないようです。

とにかく、ビルドを続けてテストが大丈夫かどうかを確認します。

答え1

config.log失敗の正確な理由を含める必要がありますが、configure見つけるのは難しいかもしれません。これを行うには、config.logの終わりから始める必要があります。configure停止すると、完全な状態のダンプが表示されます。これは難しいことですが、スキップすると主なバグが見つかるはずですconfigure。見つけてRunning config.status上にスクロールします...

Autoconfで生成された設定configure自体を読み取るにはあまり意味がありません。ソースコードconfigure.ac(またはconfigure.in古いソフトウェアの場合)とそのファイルを見ると.m4便利です。

関連情報