at_kazutaka.bito
2016年6月26日 15時38分
ATDE5:atde5-amd64-20151218 で、Armadillo-440用のビルドをかけると、
cp: `/usr/arm-linux-gnueabi/lib/gconv/gconv-modules' を stat できません: そのようなファイルやディレクトリはありません cp: `/usr/arm-linux-gnueabi/lib/gconv/ISO8859-1.so' を stat できません: そのようなファイルやディレクトリはありません make[1]: *** [romfs] エラー 1 make[1]: ディレクトリ `/home/atmark/atmark-dist-20160527/vendors/AtmarkTechno/gdb-440' から出ます make: *** [romfs] エラー 2
のようなエラーに遭遇しました。
解決方法はフォーラムの glibc 脆弱性 バッファオーバーフローについて (CVE-2015-7547) で紹介されていますが、ここに抜粋します。
2016/02/17 にリリースした libc6 のクロスパッケージには、昨年2015/12に追加された Armadillo-440向けの X.org ビルド用の変更(クロスパッケージへのgconvリソース追加) が含まれません。 この処理を追加したパッケージは 2016/02/25 12:00 に apt リポジトリにアップロード済みです。 この変更が無いとしてもArmadillo-IoTのビルドには一切影響はありません。また、脆弱性には関係しません。 「ATDE5でArmadillo-440向けにAtmark Dist で X.org を含むユーザーランドをビルドする」際は 2016/02/17 15:00 から 2016/02/25 12:00 の間に apt-get update && apt-get upgrade している場合は、下記の手順で再インストールを実行してください。 sudo apt-get update sudo apt-get install --reinstall libc6-armel-cross sudo apt-get install --reinstall libc6-armhf-cross 2016/02/17 15:00 から 2016/02/25 12:00 の間に apt-get update && apt-get upgrade を実行していないのであれば、現時点で apt-get update && apt-get upgradeを実行する と更新済みのlibc6のクロスパッケージが導入されます。
ちなみに、当方は、たまたま 「2016/02/17 15:00 から 2016/02/25 12:00 の間に apt-get update && apt-get upgradeしている場合」 の条件にはまっていたらしく、apt-get update && apt-get upgradeだけではエラーが治らず、
sudo apt-get update sudo apt-get install --reinstall libc6-armel-cross sudo apt-get install --reinstall libc6-armhf-cross
を実行することで、正常にビルドできました。