てのひら工房への道 其の弐(gcc編)
前回に続いてLinixZaurus単体での開発環境を追求して行きます。今回はgcc。C/C++などでのアプリケーションの開発が可能になります。
まずdev_img1.3をダウンロードしてきましょう。この辺の解説は結構出尽くされてるので一気に行きます。ダウンロードしたファイルをSDやCFなどのメディアに置いてください。15M以上ある大きなファイルなので、本体ROMではちょっと苦しいかもしれないです。
次にそのファイルをマウントする位置を作ります。僕は/mnt/devというディレクトリを作ってそこにマウントすることにしました。/etc/fstabに登録もしましたが、再起動時の自動マウントは控えておきます。起動時に自動マウントに失敗してSystem自体が立ち上がらなくなるのを防ぐためですが、まぁそこまで敏感になるまでも無いって話もありますが。再起動時にスクリプト一発で他の設定もろもろと一緒にマウントしちゃえばいいってこともあるので、そのへんは自己責任でどうぞ。
初回のみの作業としてマウントした後にrootで/mnt/dev/bin/compiler_setup.shを編集し実行します。
MOUNT_DIR="/mnt/dev"先程作ったマウント位置を記述して実行することで、スクリプトが自動的に開発環境を構築してくれます。
$ cd /mnt/card $ mkdir sources $ cd $ ln -s /mnt/card/sourcesさらに、gcc等が実行時に使うテンポラリスペースが標準では少しこころもとないので、こいつも外部メディア上にディレクトリを掘ってそこを使うように設定します。
$ cd /mnt/card $ mkdir tmp.bashrc等に環境変数TEMPを設定することでツール自身がそこをテンポラリスペースとして使うようになります。実行を忘れないように。
export TEMP /mnt/card/tmp
$ . .bashrcさて、これでZaurus単体でのC/C++開発環境が整った訳ですが、hello worldもなんですし、いきなりどっかからソース引っ張って来てコンパイルしちゃいます^^;
どこぞで拾って来たソースをZaurusに転送した後、展開します。wgetそのものを使って取って来るのも良い感じです。
$ cd ~/sources $ wget ftp://sunsite.sut.ac.jp/pub/archives/gnu/wget/wget-1.8.2.tar.gz $ tar zvxf wget-1.8.2.tar.gzあとは普通にコンパイルできちゃいます。
$ cd wget-1.8.2 $ ./configure $ makesrcディレクトリの下にwgetのバイナリができています。本来ならmake installでインストールするのですが、マニュアルとか要らない物もインストールされちゃうのでバイナリだけ手動インストールします。
$ cd /usr/bin $ ls -l wget lrwxrwxrwx 1 root root 12 Jan 1 1970 wget -> /usr/bin.rom/wget $ cp ~/source/wget-1.8.2/src/wget .ってな感じで。
おまけ
bison-1.28
2003/02/10追記
ROMのバージョンアップをするとcompiler_setup.shで行ったリンク張りに不整合が出てきてしまうっぽいのでcompiler_setup.shをもう一度実行するのがいいっぽいです。
2003/04/25追記
dev_img1.3ではstat.h関連でリンク時に不具合が出るようです。こちらでこちら参照。