2011年12月25日

fontconfigのconfigureで「PKG_PROG_PKG_CONFIG: command not found」

fontconfigのソースコードをgitでダウンロードして、autogen.shを実行するとこんなエラーが出ます。

./configure: line 13019: PKG_PROG_PKG_CONFIG: command not found
./configure: line 13022: syntax error near unexpected token `LIBXML2,'
./configure: line 13022: ` PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6)'

pkg-configはインストールしてあるのになんで?
と思ったら、「PKG_PROG_PKG_CONFIG」というマクロの実体が無いことが原因でした。

探したところ、「PKG_PROG_PKG_CONFIG」マクロは、pkg-configのソースコードの「pkg.m4」ファイルにありました。

まず、以下の場所からpkg-configのソースコードをダウンロードします。
http://pkgconfig.freedesktop.org/releases/
pkg-config-0.26.tar.gz

fontconfigのソースコードを、gitでダウンロードします。
$ git clone git://anongit.freedesktop.org/fontconfig

pkg-configの「pkg.m4」を、fontconfigの「acinclude.m4」にコピーします。
$ tar xzf pkg-config-0.26.tar.gz
$ cd fontconfig
$ cat ../pkg-config-0.26/pkg.m4 >> acinclude.m4


2011/12/31 追記
pkg-configの「pkg.m4」を、automakeがインストールされているパスの「../share/aclocal」ディレクトリにコピーすれば、「acinclude.m4」に連結しなくても良いです。(makiさん情報)

以下のようにコマンドを実行して、
$ which automake
/bin/automake
と表示されたら、「pkg.m4」を「/share/aclocal」にコピーすれば良いです。

automakeが「/mingw/bin/automake」にある場合、コピー先は「/mingw/share/aclocal」です。

$ tar xzf pkg-config-0.26.tar.gz
$ cp -p pkg-config-0.26/pkg.m4 /share/aclocal


あとは、以下の手順でインストールできます。

$ ./autogen.sh --prefix=/mingw
$ make
$ make install


【補足】
git cloneでダウンロードしたfontconfigのソースコードの場合、「acinclude.m4」が無いので、「pkg.m4」を「acinclude.m4」にリネームしてコピーしても良いです。

以下の場所にあるソースコード、
http://cgit.freedesktop.org/fontconfig/
fontconfig-2.8.0.tar.bz2
の場合、「acinclude.m4」があるので、念のためcatで連結するようにしました。

2011/12/31 追記
「pkg.m4」を「acinclude.m4」に連結するのも間違いではありませんが、「/share/aclocal」ディレクトリにコピーする方が簡単なので、コピーする方をおすすめします。
posted by あべちん at 05:37 | Comment(6) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
解決なされたのですね。

ffmpegで使う単体のlibraryはよくgit cloneをつかいますが、
〜〜libraryで使う為のlibraryの場合、stable Releaseの方が僕のような素人には安全かもですねw

ありがとう御座いました。
Posted by X5-452 at 2011年12月28日 23:46
X5-452さん、こんにちは。管理人です。

fontconfigはstable releaseでも良かったんですが、分からないまま放置しておくのもいやだったので、がんばって解決しました。

私も素人ですが、ヒントが見つかるまで根気よく検索してるだけです。

libcdioにもm4/pkg.m4があるので、実はいろんな所で使われてるマクロなのかもしれません。
Posted by あべちん at 2011年12月29日 14:45
あべちんさん、初めまして。makiと申します。

各種ツールをMinGWで自前ビルドしようとして(その前の)ライブラリビルドにハマり中、fontconfig のビルドで情報収集している際にこの記事に辿り着きました。他の記事も参考にさせていただいております。

私が行った fontconfig のビルド手順の内、参考になりそうな点をレスしておきます。

1) pkg.m4 を ../share/aclocal/ (※ autoconf/automake インストール先binフォルダからの相対パス) に入れておく。
2) autogen.sh を実行

これで acinclude.m4 結合orコピーの手順無でビルドできています。

autoconf/automake のインストール先に、pkg-config を自ビルドしてインストール、もしくはGTK+のHPからDLできる pkg-config のdev用ファイルを導入しているなら、この手順も不要なはず。(pkg-configの自前ビルドは困難すぎてあきらめました、、なので "はず" です)
Posted by maki at 2011年12月30日 02:44
makiさん、はじめまして。管理人です。

コメントありがとうございます。

autoconf、automakeは /bin にインストールされているので、pkg.m4を /share/aclocal にコピーして、autogen.sh が正常に実行できるのを確認しました。

そういう仕組みになっているとは、初めて知りました。

ご指摘ありがとうございました。
Posted by あべちん at 2011年12月31日 15:48
遅くなりましたが、あけましておめでとうございます。参考になったようで幸いです。
Posted by maki at 2012年01月08日 18:38
makiさん、あけましておめでとうございます。
管理人です。

おかげさまで勉強になりました。

今後ともよろしくお願いいたします。
Posted by あべちん at 2012年01月09日 22:06
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/52368303
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック