[Armadillo:07810] Re: 開発環境とコンパイルエラーについて
Takenoshita Koyo
email@hidden
2012年 1月 17日 (火) 18:34:03 JST
竹之下です。
(2012年01月17日 17:07), SAITOH akinori wrote:
> 齊藤と申します.
> お世話になります
>
> 数年前に買ったarmadillo-220の開発環境にしてた
> 古いdebianマシが壊れたので環境を
> イチから作り直そうとしています.
>
> 新しいdebian(2.6.32 32bit版)に新たにダウンロードしてきた
> atmark-distとlinuxカーネルを展開しました.
> クロス環境は新たにダウンロードしてきた物は
> 依存関係エラーが出てインストールできなかったので,
> CDROMの/cross-dev/deb/*deb を入れました.
>
> それでmakeしてみると
> extensions/libipt_SECMARK.C:13:40: linux/netfilter/xt_SECMARK.h: No such
> file pr directory
> というエラーで止まりました.
>
> 調べてみると,ダウンロードしてきたソースの中には
> xt_SECMARK.hは存在せず,
> 母艦であるdebian(i386)の/usr/include/linux/netfilter/xt_SECMARK.h
> は存在します.
ヘッダファイルが足りない、ということなので、クロスライブラリパッケージ
が足りないのかな、と推測します。
dpkg -S <ファイル名>コマンドで、そのファイルを含むパッケージ名を調べる
ことができます。
$ dpkg -S /usr/include/linux/netfilter/xt_SECMARK.h
linux-libc-dev: /usr/include/linux/netfilter/xt_SECMARK.h
linux-libc-devのクロス版はインストールされていますか?
dpkg -lコマンドで、インストール済みのパッケージを確認してみてください。
$ dpkg -l | grep libc-dev
ii libc-dev-bin 2.11.2-10 Embedded GNU C Library: Development binaries
ii libc-dev-bin-armel-cross 2.11.2-10 Embedded GNU C Library: Development binaries (for cross-compiling)
ii libc-dev-bin-powerpc-cross 2.11.2-10 Embedded GNU C Library: Development binaries (for cross-compiling)
ii linux-libc-dev 2.6.32-39squeeze1 Linux support headers for userspace development
ii linux-libc-dev-arm-cross 2.6.26-21 Linux support headers for userspace development (for cross-compiling)
ii linux-libc-dev-armel-cross 2.6.32-30 Linux support headers for userspace development (for cross-compiling)
ii linux-libc-dev-powerpc-cross 2.6.32-30 Linux support headers for userspace development (for cross-compiling)
linux-libc-dev-arm-crossがインストールされていれば、
/usr/arm-linux-gnu/include/linux/netfilter/xt_SECMARK.h
が存在するはずです。
>
> 古いクロス開発環境(20061010バージョンのCDROMに入っていた物)と
> あたらしい atmark-dostやカーネルを組み合わせた
> のがわるかったか?と想像しますが,どう解決したらいいのやらわかり
> ません.
基本的には、新しいDebianには新しいtoolchainを使うのが良いと思います。
素のDebianに、ツールチェインをインストールするのであれば、
emdebianのツールチェインがお手軽です。(ATDEv4にインストールされている
ものも、ほぼemdebianのままです。)
/etc/apt/sources.list.d/emdebian.sources.listを下記のように作成し、
$ cat /etc/apt/sources.list.d/emdebian.sources.list
deb http://www.emdebian.org/debian/ squeeze main
$ apt-get update
$ apt-get install arm-linux-gnueabi-gcc
でツールチェインをインストールできます。
が、以前も書いたように、この方法だとArmadillo-200シリーズ用の
linux-2.6.12.3-a9がビルドできません。
Debian lennyであれば、ARM OABI用のツールチェインもインストールできますので、
そちらをインストールするのも、一つの手だと思います。
>
>
> 助言をいただけたら幸いです.
>
>
armadillo メーリングリストの案内