前回の記事(Yoctoのパッケージのconfigureオプション - yasuharu's Diary http://yasuharu.net/diary/2797)の続き
Yoctoでiconv関連エラーが多いなぁと思ったら、すでにインストールしていたiconv(ソースコードからビルドしていたもの)が影響していて、
ビルドエラーが出ていたみたい。
work/x86_64-linux/pkgconfig-native/0.28-r0/pkg-config-0.28/glib/glib/gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
ひとまず、/usr/local/{lib, include}に入っていたファイルを移動させれば、この辺りの問題は解決された。
Yoctoを最近いじっています。
手始めに最小構成でビルドしようとするも、pkg-configがエラーでこけてしまう…。
work/x86_64-linux/pkgconfig-native/0.28-r0/pkg-config-0.28/glib/glib/gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
なぜpkg-configなのにglicでエラー? と疑問だけど、glibcとpkg-configが相互に依存をしているようで
pkg-config側で自分で必要なglibcを用意しているみたい。
今回のエラーは、ちょうど内部で使用するglibcのビルドに失敗している。
調べてみると、glicがiconvを使っていて…という話しらしい。
with-libiconv=gnuを追加すればOKとのこと。
これが何を意味するかはよくわかっていない。
次に疑問になるのは、このconfigureオプションをどこで設定するか?
EXTRA_OECONFで設定すればよいとのこと。
pkg-configであれば、以下に記述があるので書き換えればとりあえずは動く。
poky/meta/recipes-devtools/pkgconfig/pkgconfig.inc
ただ、実際にはbbapendでパッチをあてるべきらしい。
こっちについても試してみよう。