Armadilloフォーラム

atmark-distのビルドエラーについて

haruka0606

2014年2月18日 6時02分

はじめまして。中井と申します。

開発者サイトの「第3章 デフォルトイメージのビルド」に沿ってatmark-distのビルドを行って
いるのですが、下記の問題が発生しビルドが失敗してしまいます。
実際に行った手順を以下に示しますので、どこが悪いか教えていただけないでしょうか。

【実施手順】
1.ディストリビューション(atmark-dist-20140131)をダウンロードし、解凍する。
2.カーネル(linux-3.4-at6)をダウンロードし、解凍する。
3.1.の解凍先に、2.へのシンボリックリンクを作成する。
4.make configを実行する。
 →asm-generalフォルダへのリンクが切れているので、/usr/include/に作成する。
cd /usr/include
   ln -s (2.の解凍先)/include/asm-general asm-general
5.make allを実行する。
 →「先にmake depを実行しろ」と言ってくるが、実際に行うと「今は必要ない」と言われる。
  →説明ではリンク名が"linux-2.6.x"となっていますが、今回は"linux-3.x"になるようです。

【実施結果】
「linux/blkmem.hが無い」というエラーが発生し、makeが終了する。

【調査経過】
・whereisコマンドで検索したところ、仮想マシン内には存在していませんでした。
・ネットで情報を収集したところuClinux-distには存在するようで、実際にダウンロードして
 その存在自体は確認済みです。

コメント

at_daisuke.sasaki

2014年2月18日 14時24分

佐々木です。

atmark-dist開発者ガイドを参照し質問頂いていると理解しました。

使っている製品がArmadillo-840との事で、
「Armadillo-840 製品マニュアル」の「11.1. Linuxカーネル/ユーザーランドをビルドする」
を参照していただくのが良いと思います。
http://manual.atmark-techno.com/armadillo-840/armadillo-840_product_man…
こちらの手順でも確認してみてください。

また、前提条件として、Armadillo-800シリーズの開発では、
 開発環境:ATDE5
 linuxカーネル:linux3.4-at
を使用してください。

> 開発者サイトの「第3章 デフォルトイメージのビルド」に沿ってatmark-distのビルドを行って
> いるのですが、下記の問題が発生しビルドが失敗してしまいます。
> 実際に行った手順を以下に示しますので、どこが悪いか教えていただけないでしょうか。

「atmark-dist開発者ガイド」の「3. デフォルトイメージのビルド」に示される手順でもビルドは実施可能です。
当方も以下の手順で確認しました所、正常にビルドが行えました。

【実施手順】
 0.ATDE5を準備
 1.ディストリビューション(atmark-dist-20140131)をダウンロードし、解凍する。
 2.カーネル(linux-3.4-at6)をダウンロードし、解凍する。
 3.1.の解凍先に、2.へのシンボリックリンク(linux-3.x)を作成する。
 4.make configを実行する。
  Vendor:AtmarkTechnoを選択
  AtmarkTechno Products:Armadillo-840を選択
  以降の項目は全てdefault
 5.make allを実行する。

中井です。

2点ほど確認したい事がございます。

>0.ATDE5を準備
ATDE5である事はどこで確認できますでしょうか。
これにもバージョンがあって、カーネルやディストリビューションと
同期を取る必要があるのでしょうか。
・Vmware画面のタイトルにATDE5 i386 – VMware Playerと表示
・ログイン画面のタイトルにatde5と表示

>  以降の項目は全てdefault
説明には
「次にデフォルトの設定にするかどうか質問されます。Yesを選択してください。」
と書かれていますが、defaultっだとNoになり、指定すると
*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.

と表示され、makeが一瞬で終了します。(’Y’にするとmake configが実行される)
どちらを選択しても、make allは同じ結果になります。

中井です。

「Armadillo-840 製品マニュアル」の「11.1. Linuxカーネル/ユーザーランドをビルドする」
でも結果は同じでした。

netflash.c:55:26: fatal error: linux/blkmem.h: そのようなファイルやディレクトリはありません

ATDE5自体が壊れているとか、バージョンが違うとかは考えられますでしょうか。

> asm-generalフォルダへのリンクが切れているので、/usr/include/に作成する。

ここについて、教えてもらえますか? make configの後に、どこ
にある asm-generic (ですよね?) のリンクが切れていたのか教えてください。

間違ってシステム内の include ディレクトリなどを参照すると、ビルドできな
くなると思います。

すみません。
カーネルやディストリビューションの再インストールで
その問題は発生しなくなっていました。

その後も残っていたblkmem.hが無い件についても、
ATDE5の最新をダウンロードして、vmxファイルを
VMware Playerから開くことで解決しました。
どうやら、ATDE5自体に問題があったようです。

アドバイス下さった皆さん、大変ありがとうございました。