アダルト・ヴァイオリン May the force be with you..

2005年8月15日

Linuxクロス開発環境完成

Filed under: 組込みシステム — @ 5:47 PM

一度構築できてしまえば、バリエーションは簡単に作れる。
(というか、今回は、以前インストールしたツールがファイルパスの
上限が低く設定されていたのが問題なので、そのツールを消しただけだが)

ということで、i686用Linuxだけでなく、x86_64用Linuxのクロスツールも
コンパイル中。
Zaurus用はもうさすがにいらないか・・

その後、思い直して、Zaurus用も作った。が、思いのほか苦労してしまった。
まず、crosstoolであるが、gcc-2.95.3-glibc-2.2.2で試すが、glibcが
うまく作成できない。Cygwinのgccが3.4.4であり、古いgccのソースの
コンパイルには失敗するのか?
仕方がないので、glibc-2.2.2とLinuxのヘッダファイルはシャープが
提供しているものを使う。
ところが、それでも、gccの構築ができない。
そこで、色々試しながら、gcc-3.3.6を構築してみる。
今度は、Linuxのヘッダがシンタックスエラーだって・・・
Linuxのヘッダを修正し、何とかgcc-3.3.6で環境構築
Zaurusに出来たバイナリを持っていくと、ipk形式は認識してくれない。
むむ・・
tar+gzに直し、再度やり直し
今度は、libgcc_s.so.1がない
gcc3.3.6はシェアードライブラリを余分に要求するのかと、
シェアードライブラリをパッケージに含めるととりあえず動作。

しかし、シェアードライブラリを配布するのはうれしくないので、
再度、gcc-2.95.3の構築を試みる。
まず、configureがこけるのはtrapの書式が古いからで、
Cygwinでこのバージョンのgccを作るときにはみんな困るはずだと
検索していると、crosstoolのアーカイブの中にいくつかパッチが
転がっている。
この中から関係しそうな4~5個のパッチを当ててコンパイル
今度は無事に完成!

でも、ipkが認識されないのはまだ不明

再度トライしてみるか

PS: どうやら、ファイル名のつけ方が悪かったようで、ファイル名を変更し、
Zaurusのアプリケーション追加から追加できることが確認できた。

ずいぶん長い道のりだったなぁ~

D-FAXサービス長期未利用に伴う利用契約解除

Filed under: Weblog — @ 4:42 PM

というメールが来て、FAXサービスが解除されてしまった。
いきなり解除せずに一旦警告メールでも送ってくれればいいのにねぇ。

まぁ、そうはいっても、FAXなんてこのところ全く必要なくなっているので
仕方がないか・・

画像が必要なものはスキャナで取り込んでメールに添付したほうが
確実だし鮮明だもの。

FAXの送信はクレジット決済などで時々必要になるけれど、こちらは
WindowsFAXサービスで十分だし、もう実際にはFAX受信はいらないね。

再契約はしなくてもいいや。

こんどはinstall-infoか・・

Filed under: 組込みシステム — @ 3:16 PM

まるでもぐら叩きの様相を呈してきた(笑)

3時間経ってから、再び最初からやり直しという意味では、
賽の河原か・・

悪の恋愛術

Filed under: 読書感想 — @ 1:38 PM

ツールのコンパイルを3回もやり直している間に、東京駅で車中読書のために買った
悪の恋愛術
を読み終わってしまった。
この本は、共感できるところも多いのであるが、個別の話を一般化する
論理の立て方に強引さが目立ち、全体的に怪しげな本の粋を出ない

もっともタイトルからして怪しげなのだが 笑

クロスツール開発環境

Filed under: 組込みシステム — @ 10:26 AM

Linuxをターゲットとしたクロスツール開発環境がクロスツールから
入手できるので、開発環境を統一するために、使えるのではないかと
Cygwin上でLinux開発環境を作成中。

この手のツールの常として、一筋縄ではいかない(笑)

とりあえずの問題は、makeinfoが指定したファイルを見つけてくれない。
パス名が長すぎるのが問題なのだが、ツールが生成するパスはかなり長いので
回避方法について思案中

簡単なのは手動でコンパイルしてしまって、ビルドをスキップする方法だが、
もう少しましな方法はないものだろうか・・・

本質的なのは、makeinfoを書き換えて長いパス名でも動くようにすることだ。

と、書いたけれど、makeinfoのバージョンを調べようと
which makeinfo
したら、なぜか
/usr/local/bin/makeinfo
が出てきた。
むむ、何だこれはということで、
/usr/local/bin
を検査。
どうやら、platexをセルフでコンパイルしたときにできたらしい。
/usr/bin/makeinfo –version

/usr/local/bin/makeinfo –version
はもちろん異なっているので、これは、古いものを使っているから問題なのだろう
と、
rm /usr/local/bin/makeinfo.exe
として、消してしまう。
(安全なのは、別名にすることだけれど、ま、いいや)

bintuilsのbuildディレクトリ上はこの対策だけでうまく動きそうだから
再度クロスツールコンパイルに挑戦

このツールのコンパイル、時間がやったらかかるのが問題だね。
アーカイブを展開してパッチを当てているから、再度スクリプトを
流すときには一度全部のアーカイブを消去してやり直しているんだ

PS: 順調に行くかと思いきや、glibcの構築でまたもエラー
今度は gzip がファイルがないと言っている。
これも、which gzip してみると、/usr/local/bin/gzip だ
gzipよ、お前もか・・・

パス名バッファの小さなバージョンというのは、どうしてできたのだろうか・・

Powered by WordPress