SL-C3000

ZGCC2インストール Edit

やっぱりセルフでコンパイルできる環境が欲しいよね(笑)
ということで、gcc を入れてみる。
zgccのサイトのインストール手順を参考にしつつ、ディスクに余裕がありCFやSDにインストールする必要のないSL-C3000にあわせてディレクトリ配置を若干変更
/usr/local に zgcc2 ディレクトリを作成し、パッケージのcramfsを置く。
同じく /usr/local に .zgcc と .include を作って、↓こんな感じで mount する。

# 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

これで /usr/local/.zgcc に gcc 関係一式が見えるはず
mount時に loop デバイスが無いとかで失敗する場合は loop デバイスを追加で作っておきましょう。

# mknod /dev/loop2 b 7 2
# mknod /dev/loop3 b 7 3
# mknod /dev/loop4 b 7 4

適当に2〜3個も作っておけばいいでしょう。
これでmountが成功するはず。

次はshell scriptの編集
/usr/local/.zgcc 以下の mntzgcc.sh と zgcc.sh を /usr/local/bin にコピーして、内容を修正。

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                                         

tmakeを使用する際は/usr/local/.zgcc/tmake/lib/sharp-onboard/tmake.confも編集する必要があります。
変更は2箇所で、diffするとこんな感じ。

# diff /usr/local/zgcc/tmake/lib/sharp-onboard/tmake.conf.org /usr/local/zgcc/tmake/lib/sharp-onboard/tmake.conf
35c35
< TMAKE_INCDIR_QT               = /mnt/card/.include/Qtopia
---
> TMAKE_INCDIR_QT               = /usr/local/.include/Qtopia
37c37
< TMAKE_INCDIR_QTOPIA   = /mnt/card/.include/Qtopia/qpe
---
> TMAKE_INCDIR_QTOPIA   = /usr/local/.include/Qtopia/qpe

これで準備完了
以降は再起動後に一回だけ mntzgcc.sh を実行、開発時はシェル起動後に source zgcc.sh で環境設定という感じ
あるいはユーザの .profile あたりに入れとくとお手軽かも
また、disk容量を気にしないなら cramfs の内容を展開してしまってもいいかもね
その場合は mntzgcc.sh の実行の必要はなくなります。

ZGCC2インストール - cramfs展開版 Edit

というわけで、cramfs展開バージョンも記載しておきます。

ディレクトリイメージとして、こんな感じを想定しています。

cramfs版展開版
/usr/local/.zgcc/usr/local/zgcc
/usr/local/.include/usr/local/zgcc/include

つまり、zgccのパッケージをすべて/usr/local/zgcc以下に置いてしまおうということです。
とりあえず2つのcramfsファイルを/usr/localにでも置いてから作業しましょう。
まず作業用とインストール先のディレクトリを作成します。

# cd /usr/local
# mkdir tmp
# mkdir zgcc
# mkdir zgcc/include

続いて、zgcc2Bin.cramfsをマウント

# mount -t cramfs /usr/local/zgcc2Bin.cramfs /usr/local/tmp -o loop

そして内容をインストール先にコピー

# cp -rp tmp/* zgcc/

終わったらumount

# umount /usr/local/tmp

同様にzgcc2Include.cramfsも処理します。

# mount -t cramfs /usr/local/zgcc2Include.cramfs /usr/local/tmp -o loop
# cp -rp tmp/* zgcc/include/
# umount /usr/local/tmp

これでcramfsの展開イメージができました。作業に使ったtmpディレクトリとcramfsファイルは削除しても構いません。

# rmdir tmp
# rm zgcc2Bin.cramfs zgcc2Include.cramfs

つづいてシェルスクリプトの編集。

/usr/local/zgcc/mntzgcc.shは必要ありませんので、削除してしまっても構いません。

/usr/local/zgcc/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/zgcc/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/zgcc/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

cramfs版と同様、/usr/local/zgcc/tmake/lib/sharp-onboard/tmake.confも編集する必要があります。

# diff /usr/local/zgcc/tmake/lib/sharp-onboard/tmake.conf.org /usr/local/zgcc/tmake/lib/sharp-onboard/tmake.conf
35c35
< TMAKE_INCDIR_QT               = /mnt/card/.include/Qtopia
---
> TMAKE_INCDIR_QT               = /usr/local/zgcc/include/Qtopia
37c37
< TMAKE_INCDIR_QTOPIA   = /mnt/card/.include/Qtopia/qpe
---
> TMAKE_INCDIR_QTOPIA   = /usr/local/zgcc/include/Qtopia/qpe

これで完了。


  • loopデバイスの設定についての追記をしました -- Makichan? 2004-11-18 (木) 12:19:49
  • cramfsを展開するバージョンも記載して見ました。というか、私自身展開イメージで使うことにしたので(笑) -- Makichan? 2004-11-19 (金) 11:55:54
  • .zgcc/tmake/lib/sharp-onboard/tmake.conf に /mnt/card に決めうちした設定があります。tmake 使う場合は自分の環境に合わせて書き直さないとだめですね。 -- Vel? 2004-11-19 (金) 17:57:46
  • おおっ、情報ありがとうございます。まだQt関係のコンパイルはしてなかったので気付きませんでした(^^; -- Makichan? 2004-11-23 (火) 01:55:01
  • というわけで、tmake.confの修正を記事に反映させました -- Makichan? 2004-11-24 (水) 14:08:19

カテゴリ:Zaurus:Software


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-11-19 Mon 17:36:39 JST (3989d)