configureのGTK+のチェックでエラー [プログラム]
ちょっと特殊な問題でしたが、 pkg-config がおかしな挙動をする、ということで、書いておきます。
linuxで、GUIのあるアプリをビルドしようとして、configureすると
checking for GTK+ - version >= 2.6.0... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
(以下、GTK 1.2.7も3.0.0もチェックでnoになる)
で、「GTKがない」と言われてしまいます。
でも、GTK+パッケージは、2.xも3.0もインストール済みなのです。なんで?
前から、このエラーでコンパイルできなかったものがあったし、ということで、今回、解決するまで調査することにしました。
configureをいじって調べていくと、GTK+のチェック部分で、
pkg-config gtk+-2.0で、どちらも1 (エラー)が返ってくるという、とんでも仕様。はぁ?
pkg-config --uninstalled gtk+-2.0
とりあえず、configureがこの先でやることを試そうとして
pkg-config gtk+-2.0 --cflagsしたら、
libpng 16がインストールされているべきなのにないからエラーだよんとか表示されてました。
ググって調べてみると
http://www.linuxquestions.org/questions/slackware-14/fail-to-compile-wireshark-4175510119/
に、libpng14がないと、エラーすることがあるというのを見つけました。
同じ理由かも?
/libや/usr/libを調べてみると、
libpng12はインストールされてたけど、libpng16は入ってません。
なんでかなー...
記憶の彼方を探ると、
libping12でないと動作しない「重要な何か」があったから、固定したような、そうでないような。
とにかく、ま、libpng16をいれましょう。
sudo apt-get install libpng-devで、どこに入れたんですか?
/lib/i386-linux-gnuには、libpng12のままで、16はありません。はて?
/usr/lib/i386-linux-gnuに12と16(1.6)が同居してました。
こんなめちゃくちゃなインストールでいいのでしょうか...
とりあえず、
pkg-config gtk+-2.0 --cflagsが動くようになりました。
やれやれ、これで、今までどうしてもconfigureできなかったやつらがコンパイルできるようになります。