物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

OpenWRTのコンパイルがうまくいかなくなって苦労しました

WZR-AMPG144NHのMarvell向けに、WZR-APMG144NHへのファームウェア書き込み7
 でOpenWRTをコンパイルしていました。

その後再度ソースをダウンロードしてコンパイルしたところ、途中でコンパイルが終わらなくなってしまいました。
何度かソースをダウンロードしても変わらず、Brodcomでもコンパイルできませんでした。

このため、コンパイル用のOSをFedora9からFedora10に変更してみました。VMwareで動かしているのですが、Fedora10ではVMware-toolsの機能が組み込まれているようで、マウスの自動切換えが行われて便利でした。

ソースをダウンロードしてコンパイルしても、Brodcomでは問題ないのですが、やはりMarvellではコンパイルできませんでした。
make時にV=99をつけたところ、次のメッセージが繰り返し出ていました。

つづきを表示

スポンサーサイト

PageTop

OpenWRTベースでのクロスコンパイル6

OpenWRTベースでのクロスコンパイル5 でクロスコンパイルがうまくいっていません。
このため、クロスコンパイル用のファイルをsamba共有して、dd-wrtでCIFSマウントしてコンパイルしてみようとしました。

configureを実行してみると、下記エラーが発生しました。
root@WLI-TX4-G54HP:/tmp/smbshare/tinyproxy-1.7.0# ./configure
checking build system type... Warning: creating insecure temp directory
config.guess: cannot create a temporary directory in /tmp
configure: error: cannot guess build type; you must specify one

prefixとbuildを指定してみるとconfigureが進みましたが、下記エラーで停止しました。
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

mip-slinux-uclibc-gccのディレクトリにPATHを通して、CC=を指定しましたが、次のエラーで停止しました。
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

よくよく考えると、makeなどの必要なコマンドがインストールされていないので、それらの環境の構築も必要です。
Optwareのインストールなどを行い、開発環境を構築できればいいのですが、SDカードの動作がdd-wrtでまだできません。(LaFonera+OpenWRT+SanDisk SDカードでは動作)
このため、クロスコンパイルに挑戦することにします。

PageTop

OpenWRTベースでのクロスコンパイル5

OpenWRTベースでのクロスコンパイル4 でOpenWRTの開発環境がうまく動かなくなってしまったため、LaFoneraの開発環境を使うことにしました。

仙石浩明の日記: La Fonera 上で stone を走らせてみる を参考に進めます。
http://download.fon.com/firmware/fonera/latest/fonera.tar.bz2 からファイルをダウンロードしました。
bzip2 -dc fonera.tar.bz2 | tar xvf -  で解凍します。

make menuconfigで Build the OpenWrt SDK とSelect all packages by default を選択して、makeをしたところ、エラーで中断してしまいました。
make[5] -C package/openswan compile
Build failed. Please re-run make with V=99 to see what's going on
make: *** [world] エラー 1

つづきを表示

PageTop

OpenWRTベースでのクロスコンパイル4

OpenWRTベースでのクロスコンパイル3 の方法でコンパイルをしてみました。

CC=mips-linux-uclibc-gcc CFLAGS="-s" ./configure --host=mips
CFLAGS="-static" としたり、--target=mips をしてみましたが、下記エラーでコンパイルできませんでした。

つづきを表示

PageTop

OpenWRTベースでのクロスコンパイル3

OpenWRTベースでのクロスコンパイル2 でtinyproxyのクロスコンパイルがうまくできませんでした。

tinyproxyの場合は、 ./configure でmakeファイルを作成できますが、delegateでは ./configure が無いため、makeファイルは手で修正するしかありませんので、アーキテクチャの指定ができないと思いました。

調べたところ、makeコマンドにアーキテクチャを指定できることがわかりました。
yaroespage::weblog 第16話「こんどこそ、ちゃんとやります、クロス・コンパイルです」
delegateのmakeにARCHオプションをつけたところ、エラーが発生しました。
make ARCH=mips
mips-linux-gcc -DMKMKMK -DDEFCC=\"mips-linux-gcc\" -I../gen -I../include -L../lib mkmkmk.c -o mkmkmk.exe
"./mkmkmk.exe" -mkmkmk "mips-linux-gcc" -I../gen -I../include -L../lib maker/mkmake.c -o mkmake.exe
/bin/sh: ./mkmkmk.exe: cannot execute binary file
make: *** [mkmake.exe] エラー 126

つづきを表示

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。