今日は、みっきゅんに会いに行く隙間の時間に、zgccインストールの再チャレンジをしました。
そもそも、昨日の失敗は、この(↓)サイトからDLできるのがipkファイルというところが問題でした。
http://www.killefiz.de/zaurus/showdetail.php?app=761
ということで、これは忘れて、ググった結果出てきたこちらのサイトを参照しました。
「MakiWiki ZGCC2インストール」
http://www.makichan.jp/home/index.php?ZGCC2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
ここからリンクのあるこちらのサイトから念願のcramfsファイルを得ることができました。
「Zaurus Onboard Development Tools 」
http://s91215199.onlinehome.us/zaurus/
zgcc2Bin.cramfs
zgcc2Inc.cramfs
zgcc2install.html
リナザウからだとDLできなかったのでPCでDLし、CFカード経由でリナザウにコピーしました。
今まで見つからなかったcramfsファイルというのはこれのことだったんですね。
幾度か試した結果、以下のシェルスクリプトファイルをあらかじめ作成しておくと簡単に行くというのも分かりました。
ファイル名:mntzgcc.sh
内容:
mount -t cramfs /usr/local/zgcc2/zgcc2Bin.cramfs /usr/local/.zgcc -o loop
mount -t cramfs /usr/local/zgcc2/zgcc2Inc.cramfs /usr/local/.include -o loop
ファイル名:zgcc.sh
内容:
export GCC_EXEC_PREFIX=/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/usr/local/.include/
export LIBRARY_PATH=/usr/local/.zgcc/lib/:/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/usr/local/.include/g++-3/
PATH=/usr/local/.zgcc/bin:$PATH
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/.zgcc/lib
export LD_LIBRARY_PATH
TMAKEPATH="/usr/local/.zgcc/tmake/lib/sharp-onboard/"
export TMAKEPATH
ln -sf /usr/local/.zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
ln -sf /lib/libc.so.6 /usr/lib/libc.so
ln -sf /lib/libm.so.6 /usr/lib/libm.so
このファイルは、Windowsマシンで作成した場合、改行コードが違っていて後ではまる羽目に陥るので、改行コードをLFにしておく必要があります。私はそれに気付かず時間を取られました。
次に、ターミナルを起動し、ルート権限になります。
$ su
# bash
インストールの為のディレクトリを作成します。
# cd /usr/local
# mkdir zgcc2
# mkdir .zgcc
# mkdir .include
ディレクトリを作成したら zgcc2Bin.cramfs と zgcc2Inc.cramfs を /usr/local/zgcc2 ディレクトリへコピーします。
fdを起動してコピーするのが楽でしょう。
cramfsファイルをマウントします。
これには、あらかじめ作成したmntzgcc.shを実行するだけですみます。
# source mntzgcc.sh
これで、.zgccと.includeの中に必要なファイルが見えるようになります。
パスや環境変数を設定するにはzgcc.shを使用します。
# source zgcc.sh
これで、gccが使えるようになります。
このmntzgcc.shとzgcc.shは /usr/local/bin ディレクトリへコピーしておきます。
後は /usr/local/.zgcc/tmake/lib/sharp-onboard/tmake.conf をいじって tmake を使えるようにします。
変更前: TMAKE_INCDIR_QT = /mnt/card/.include/Qtopia
変更後: TMAKE_INCDIR_QT = /usr/local/.include/Qtopia
変更前: TMAKE_INCDIR_QTOPIA = /mnt/card/.include/Qtopia/qpe
変更後: TMAKE_INCDIR_QTOPIA = /usr/local/.include/Qtopia/qpe
要するに、/mnt/cardを/usr/localに変更するわけです。
(8/30削除:これをするとファイルが壊れるような気がする。。。)
展開した方がマウントの手間を省けそうですが、とりあえず動いているので良しとします。
最初の起動時には、「source mntzgcc.sh」でマウントします。
コンパイルしたい時には、ターミナルを開いて
$ su
# bash
# source zgcc.sh
とします。
あとはソースファイルを
# gcc a.c
のようにするとコンパイルが行えます。
そもそも、昨日の失敗は、この(↓)サイトからDLできるのがipkファイルというところが問題でした。
http://www.killefiz.de/zaurus/showdetail.php?app=761
ということで、これは忘れて、ググった結果出てきたこちらのサイトを参照しました。
「MakiWiki ZGCC2インストール」
http://www.makichan.jp/home/index.php?ZGCC2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
ここからリンクのあるこちらのサイトから念願のcramfsファイルを得ることができました。
「Zaurus Onboard Development Tools 」
http://s91215199.onlinehome.us/zaurus/
zgcc2Bin.cramfs
zgcc2Inc.cramfs
zgcc2install.html
リナザウからだとDLできなかったのでPCでDLし、CFカード経由でリナザウにコピーしました。
今まで見つからなかったcramfsファイルというのはこれのことだったんですね。
幾度か試した結果、以下のシェルスクリプトファイルをあらかじめ作成しておくと簡単に行くというのも分かりました。
ファイル名:mntzgcc.sh
内容:
mount -t cramfs /usr/local/zgcc2/zgcc2Bin.cramfs /usr/local/.zgcc -o loop
mount -t cramfs /usr/local/zgcc2/zgcc2Inc.cramfs /usr/local/.include -o loop
ファイル名:zgcc.sh
内容:
export GCC_EXEC_PREFIX=/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/usr/local/.include/
export LIBRARY_PATH=/usr/local/.zgcc/lib/:/usr/local/.zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/usr/local/.include/g++-3/
PATH=/usr/local/.zgcc/bin:$PATH
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/.zgcc/lib
export LD_LIBRARY_PATH
TMAKEPATH="/usr/local/.zgcc/tmake/lib/sharp-onboard/"
export TMAKEPATH
ln -sf /usr/local/.zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
ln -sf /lib/libc.so.6 /usr/lib/libc.so
ln -sf /lib/libm.so.6 /usr/lib/libm.so
このファイルは、Windowsマシンで作成した場合、改行コードが違っていて後ではまる羽目に陥るので、改行コードをLFにしておく必要があります。私はそれに気付かず時間を取られました。
次に、ターミナルを起動し、ルート権限になります。
$ su
# bash
インストールの為のディレクトリを作成します。
# cd /usr/local
# mkdir zgcc2
# mkdir .zgcc
# mkdir .include
ディレクトリを作成したら zgcc2Bin.cramfs と zgcc2Inc.cramfs を /usr/local/zgcc2 ディレクトリへコピーします。
fdを起動してコピーするのが楽でしょう。
cramfsファイルをマウントします。
これには、あらかじめ作成したmntzgcc.shを実行するだけですみます。
# source mntzgcc.sh
これで、.zgccと.includeの中に必要なファイルが見えるようになります。
パスや環境変数を設定するにはzgcc.shを使用します。
# source zgcc.sh
これで、gccが使えるようになります。
後は /usr/local/.zgcc/tmake/lib/sharp-onboard/tmake.conf をいじって tmake を使えるようにします。
変更前: TMAKE_INCDIR_QT = /mnt/card/.include/Qtopia
変更後: TMAKE_INCDIR_QT = /usr/local/.include/Qtopia
変更前: TMAKE_INCDIR_QTOPIA = /mnt/card/.include/Qtopia/qpe
変更後: TMAKE_INCDIR_QTOPIA = /usr/local/.include/Qtopia/qpe
要するに、/mnt/cardを/usr/localに変更するわけです。
(8/30削除:これをするとファイルが壊れるような気がする。。。)
展開した方がマウントの手間を省けそうですが、とりあえず動いているので良しとします。
最初の起動時には、「source mntzgcc.sh」でマウントします。
コンパイルしたい時には、ターミナルを開いて
$ su
# bash
# source zgcc.sh
とします。
あとはソースファイルを
# gcc a.c
のようにするとコンパイルが行えます。
このディレクトリって、suを宣言しているのでルートからっていうことですよね?
ということは、3000では/src以下のディレクトリが存在しないので作らなければいけないということあっていますよね?
unix osはユーザー如何でどこがルートになっているのかが変わるのでこのあたりが面倒ですよね(^^;
#FDcloneってMDコマンドって何のキーに割り当てられていました?
#うっ、なにげに教えて君になってしまっているのが嫌だなぁ(笑
ごめんなさい、記述ミスです。
正しくは、/usr/local/bin です。
fdのmkdirは[k]になります。
というか、答えを待っている時間が惜しいのでする気満々です(汗
今日のところは時間が時間なのであきらめます。
そして明日、コピーから再出発したいと思います。
健闘を祈っていてくださいませ(苦笑。
作業はrootで行ってください
もしかすると、再起動をかけるたびにマウントしなおさなきゃダメってこと?
それ以前に、私の方は"tmake.conf"を書き直さないといけないのだけど(汗
#どうも"所有者:zaurus"、"所有グループ:qpe(だったかな?^^;)"になっているらしいです。
マウントして初めて中身が見えるようになるわけです。
マウントは、どっかに設定ファイルがあるのでそこに書き込めばいいのは分かっていますが、そこまではまだやってません。
root権限は、全てのファイルを操作可能です。
cramfsファイルの中身なんだから、tmake.conf の書き換えができるんだっけ?
ということで見直したら書き換わってなかったので、編集したら・・・中身が消えて、その後全然だめに・・・。
もう一回やり直しか・・・。
そのはずですよね。
私も書きかえれないのは変だなぁ?とか思っていたのですがね。
ZEditerでは「Write Error!!!」が出てメッセージが「stream : Please investigate the file. . .」と出て書き込めなくて、おまけにこの後Obyteのファイルになってしまいます。
今は一時棚上げ状態です(笑