This service is available only in Japanese-language.
お世話になります。
yocto(warrior)にて、Raspberry Pi CM3+用のOSイメージを作成しましたが、その中には glibc は含まれているものの、libiconv が含まれておりませんでした。
そこで、meta-gplv2 レイヤー を clone して bblayers.conf に追加し、core-image-base.bbappend を作成しその中で「IMAGE_INSTALL_append = " libiconv"」を記述しました(core-image-base.bbappend は自分のレイヤーに追加してあります)。
そして bitbake core-image-base を実行すると
-----
ERROR: Nothing RPROVIDES 'libiconv' (but /opt/poky-warrior/meta/recipes-core/images/core-image-base.bb RDEPENDS on or otherwise requires it)
libiconv was skipped: libiconv is provided for use with uClibc only - glibc already provides iconv
NOTE: Runtime target 'libiconv' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libiconv']
ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base', 'libiconv']
----
どうもうまく入ってはくれないようです。どのようにすればよいでしょうか?
yakuhito
2020/1/29 (水) 23:01
iconv_open.o iconv.o iconv_close.o はglibcに含まれています
iconv_open.o iconv.o iconv_close.o はglibcに含まれています。
各国別のデータは、glibc-localeに含まれ、必要に応じてロードする仕組みとなています。
iconv のバイナリは、glibc-utils パッケージに含まれます。
IMAGE_LINGUS 変数に、使用する言語、国を列挙することで必要なライブラリがインストールされるのではないかと。
上記で入らない場合は、glibc-localeのレシピが生成する個別のパッケージを指定すれば確実かと。
s.yamaguchi
2020/1/30 (木) 11:22
glibc-locale は IMAGE_INSTALL_append では追加できないのでしょうか?
回答ありがとうございます。こちらでも色々試しているところです。
最終的には"/usr/lib/gconv"の中にライブラリが登録されることを望んでおります。
meta/recipes-core/glibc の中に glibc-locale_2.29.bb があることは分かっているのですが、どうやらこれは IMAGE_INSTALL_append では追加できないようですね。
--------
ERROR: Nothing RPROVIDES 'glibc-locale' (but /opt/poky-warrior/meta/recipes-core/images/core-image-base.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'glibc-locale' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['glibc-locale']
ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base', 'glibc-locale']
こういった形ではなく、IMAGE_LINGUS 変数に追加することで自動的に行われるということですね。
現在、このように設定しています(core-image-base.bbappend に)。「SJIS<->UTF8」の変換を行えればよいですが、なにかおかしいところはありますでしょうか?
IMAGE_LINGUAS = "ja-jp en-us"
GLIBC_GENERATE_LOCALES = "ja_JP.UTF-8 en_US"
※local.conf に書いたほうが良いのでしょうか?
yakuhito
2020/1/31 (金) 11:47
GLIBC_GENERATE_LOCALES 変数は特に指定しなくても良いかと
GLIBC_GENERATE_LOCALES 変数ですが、
・未指定の場合は、全LOCALEを作成
・指定した場合は、変数に記載されたLOCALEのみ作成
という扱いになります。
GLIBC_GENERATE_LOCALESは未指定でお試しください。
s.yamaguchi
2020/1/31 (金) 12:55
了解しました。
ありがとうございました。
yakuhito
2020/1/31 (金) 16:53
/usr/lib/gconv/ 以下に該当言語のライブラリを入れるには
/usr/lib/gconv/ 以下に該当言語のライブラリを入れるには
IMAGE_LINGUAS 変数に "ja-jp" を追加
IMAGE_INSTALL 変数に "glibc-gconv-shift-jisx0213" を追加
とすることで、SHIFT_JISX0213.so と libJISX0213.so が追加されることは確認できております。
s.yamaguchi
2020/1/31 (金) 17:43
重ね重ねありがとうございます。
上記、試行してみます。ありがとうございました。