CygwinでChumbyの開発環境
最近、かわいらしい時計デバイスChumbyと戯れているのですが、困ったことに本家の開発者向けWikiでは、Chumbyの開発環境(クロスコンパイラ)はLinux上で動作するものしか提供されていません。日常作業はほとんどCygwin上で行っていることもあり、わざわざ他のマシンを立ち上げたり、仮想マシンをこさえてLinuxをつくるというのも面倒くさいので、Cygwinで開発環境をつくることにしました。
で、結論として開発環境を"ほぼ全自動"で作ってくれるchumby.makefileなるものを作成しました。適当なディレクトリ上でmake -f chumby.makefileをすると、/usr/local/chumby上に色々とインストールしてくれます。アセンブラ(binutil-2.18由来)やコンパイラ(c,c++でgcc-4.3.2由来)は/usr/local/chumby/toolchain/binに入りますので、実際に使う際はそこへPATHを通してから、ということになると思います。例えばhello.cをコンパイルする際はPATH=$PATH:/usr/local/chumby/toolchain/bin arm-linux-gcc -o hello hello.cという感じです。Chumby本体を使いHello World等いくつかの基本的なプログラムで動作検証を行いましたが、問題なく動作しています。
上のMakefileですが、"ほぼ全自動"というところがポイントで、現状では1回ほど『gmp.h? そんなファイルは見つからねぇ』というエラーを吐いてとまってしまうことを確認しています。その場合はmakeを実行したディレクトリの下に展開されるgcc-4.3.2/BUILD_arm-linux/gcc/Makefileを手動で編集し、その後にmakeの再実行を行ってください。変更するのは、Makefile内に-I../../gmp-4.2.4 -I../../mpfr-2.3.2や-L../../gmp-4.2.4 -L../../mpfr-2.3.2等の記述で、これらを-I../../../gmp-4.2.4 -I../../../mpfr-2.3.2ならびに-L../../../gmp-4.2.4 -L../../../mpfr-2.3.2のように、1段上の親のパスを探すように変更すれば解消されます。automakeやautoconf絡みのエラーのようで、根本から解決するにはどこかのMakefile.inやconfigureを訂正すればよいのではないかと思います。
※その後、Chumbyだけで設定ファイルを編集できないか検討中です。
コメント
>もなかさん
確かに相対パスではなく絶対パスでやるのが、トラブルを安全に回避できそうですね。configureの生成するMakefileでのトラブルを解消するため、どこで何のMakefileが生成されているのか追うとなると大変です。
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。
パスが問題になるのであれば,
Posted by: もなか : October 27, 2008 02:22 PMPWD=$(shell pwd)
などしておき,
--with-gmp-include=$(PWD)/$(GMP)
などすればよいのではないでしょうか.