2006年5月14日から2006年5月10日までの日記を表示中
2006年 5月14日 (日)
■OpenBlockS
ちょっと前に購入してそれっきりだったOpenBlockS266ですが,そろそろ投入しないとまずそうなんで,ひとまず性能見るためにセットアップしてみました.
Webベースの設定ツールでIPアドレス変えてみたり日付設定してみたりしたんですが,何かもどいっすねこりゃ.しかもユーザnosukeを追加しようとして,UIDを10001にしたら「32768以上に汁!」とか怒られた上に元々あったuser1とかいうログイン用のユーザアカウントが消滅(;´Д`).使いやすいんだか使いにくいんだかよくわかりませんな・・・.どこぞの無線LANステーションよりははるかにいいですが.
続いてHDD起動化することに.ばらしてCF用のアダプタ外して,前にT42で使ってた60GのHDDをさしてFlashから起動.パーティション切って初期化して,適当にマウントしてftpでぷらっとほーむのサーバからイメージ持ってきて展開して,etcの下書き換えて,HDDから起動するようにFlashに書いて終わり.ぷらっとホームのFTPサーバが大変遅いのがあれですが,実に簡単ですなぁ.珍しく何もはまること無く無事起動しました.
さて,どうやってネットワークの設定とかするのかなー・・・ってなんだこのFreeBSDみたいな設定ファイルの構成は(^^;.おそるべしぷらっとほーむのSSD/Linux.そういや昔BSDマガジンのパロディ号にBSD/Linuxとかいうのが出てた気がしますが,こんな感じなんですかね(笑).まあ大変わかりやすくていじりやすくて助かりますが.と,まあ,現在こんなところで,まだNATにしてスループット見るとかできてないっす.
そういや,Linuxってifconfigで「eth0:0」とかにIP設定するだけで同じNICに複数個IPアドレス振れるんですね.知らなかった・・・.なんて簡単な.
ifconfig eth0:0 192.168.253.1 netmask 255.255.255.0
[コメントを書く]
■遅いセルフビルドを何とかする話
別にZaurusに限った話ではないんですが,クロスコンパイラがちゃんと用意できる環境であっても,クロスコンパイルせずにネイティブ環境でビルドするのはやっぱ楽だと認識しています.確かに貧弱なマシン用の実行バイナリ作る場合,高性能なデスクトップとかでクロスでばりばりやるのが速くて快適ではありますが,ひとたび configureが全然通らんとか(中でライブラリの有無を確認するのにビルドして実行とかしちゃったりしてるとか),makeでできるファイルの一部はネイティブ実行できないとまずいとか(bootstrapとでもいうのか?),そういうのに遭遇するとクロスはほんと辛いです.あ,パッケージを使って環境を作らない,という前提の話ですよ?もしくは「俺がパッケージャだ」みたいな話(笑)
そんなわけで(?),ここんとこずっとセルフビルドしてるわけですが,貧弱な環境でのセルフビルドの弱点はやっぱ遅さとメモリの足りなさですねぇ.遅いのは我慢できるとしても,メモリ不足はかなり痛いです.ものすごい勢いでswapした挙げ句,g++がセグって落ちるとかもうね・・・.
で,一昨日Qtを再コンパイルしようとしたらこの問題が出たんで,これを何とかできんのかとちょっと考えてみたという話です(前置きが長いな・・・).何を考えたかというと,このときの経験を元に以下のようなことを・・・.
- gccやg++の引数やオプションを見て,「-c」がついている場合には,「-E」に置き換えて出力ファイル名も変更してマクロの展開とかヘッダの取り込みとかだけやる
- 出力ファイルをクロス環境のあるところにscpなりrcpなりでコピー
- クロス環境の方にrshなりsshなりで入って,クロスコンパイラでさっきの出力ファイルを今度は「-c」をつけてコンパイル
- 終わったらできたファイルをscpでローカルに持ってきて,本来の出力ファイルとして置く
と,まあ,要するに,configureはネイティブにでやって,その後もプリプロセッサのところとリンカのところはセルフでやって,オブジェクトファイル作るところだけはクロスでやってしまおうという話です.実に単純なアイディアなんで,単に自分が知らないだけでその道の方々のところでは当り前のように使われてるんじゃないかという気もしますが(あるいは自分のgccへの理解が間違っててこれじゃ全然うまくいかないとか),クロス環境があって,ラッパーが用意できればそれで試せる話なんで早速やってみることにしました.
まずはOpenZaurus用のクロス環境を構築.実はこれがあってOpenZaurus用のクロスのglibcを入れようと思い,monotoneなんかを入れてしまったのが昨日の話.何で配布されているSDK使わないかって?そりゃぁ,セルフとgccのバージョン揃えたいからですよ(^^;. そしてまたしてもgccのsoft-float回りではまりました(^^;;;
で,クロス環境が何とかできたんで,今日になってラッパーをちょこちょこっと書いてみることに.こっちは瞬時にできるだろうと思いきや,オプションを置き換える部分でひっかかりました(^^;.普通のオプションとか引数とかだけなら簡単なんですが,例えば間に空白が入ってるような引数があったりしたら・・・.ってことを考え始め悩みまくり.まあ,最終的にxargsを使うとうまくいくことがわかったんで,これを使うことに.
で,早速これを使ってQtをビルドですよ.う・・・.こ,これは・・・は,速い!狙い通り,g++でのビルドがもりもり進んでいきます(笑).これさえあればFirefoxのビルドも恐くないぞ!・・・で,ちゃんと動くのかな,このバイナリ・・・動いたーヽ(゜∀゜)ノ.そしてビルドし直したことにより,ばっちりimmodule-qt介してuimで入力できるようになりました.何か前は最初から「-DQT_NO_XINERAMA」付けずにビルドしたのがまずかったみたいです.めでたいなこりゃ.
[コメントを書く]
■CDとか
- 紅蓮白夜 (Sound Iemitsu.)
- こちらは旧作.未だに自信を持ってジャンルの区別ができませんがトランスらしいです(^^;.全体通して聴き易くて(・∀・)イイ!
- DeStiny Land (バウハウス)
- オリジナル作品.ジャンル色々です.なぜかつい何度も聴いてしまいます.紅白もそうでしたが,このジャケットやブックレットのイラストはバウハウスさんのどちらかの方が描いてるんでしょうか?ほんわかしてていいすねー.
- TANO*C COREnival (ハードコアタノシー)
- CDがなかなか読めなくて焦った作品(^^;.ハードコアタノシー作品は多分これが初めてです.2枚組で1枚目が (^ω^) の絵の「Happy & Trancy side.」,2枚目が (゜∀。) の絵の「Gabba & NRG side.」だそうです.ジャンルの細かいこととかよくわかりませんが,とりあえず聴いて1枚目と2枚目がずいぶん違うことはわかります(^^;.1枚目はまあ普通.3曲目とか良かったっす.が,2枚目がやばい.そういうジャンルなんでしょうが,5,7,8,10,12とことごとくきついorz.6曲目みたいなのは大好きなんですけど・・・.
[コメントを書く]
2006年 5月13日 (土)
■OpenZaurusのglibc
当ててるパッチとかを入手するにはmonotoneなるツールが必要とのこと.で,こいつを入れようと思ったら boostというのが必要なんだと.めんどくさいですなぁ.で,boost作って入れてみたんですが,インストールで入るファイルの総量が450M近くあるんですけど・・・(;´Д`).まあ,monotoneのINSTALL見る感じだと全部入れる必要無いとは思うんですが,欲しかったファイル入手できたし,もう使うこともないだろうからmonotone共々削除しとくか・・・.
[コメントを書く]
■uim-qt vs Konqueror
これ見て工エエェェ(´д`)ェェエエ工と思ったわけですが,自分のところで試してみたら確かにKonquerorの入力フォームとかで現象が発生.KNotesでしか日本語入れることなかったから全然気づかなかったし.
[コメントを書く]
■東方絢櫻祭
あー,今日は東方絢櫻祭だったんすよね.当然自分は日本にいるわけですが(´・ω・`).あー,もう例大祭まで1週間なんですよねー.そしてチェックしてあるものだけでも相当な数ですなこりゃ・・・.
[コメントを書く]
2006年 5月12日 (金)
■linux-2.6.16.16
QEMU動かしてみたくなりソースからビルドしようとしたんですが,例によって2.6.16のカーネルヘッダ回りのエラーが山のように発生.しかも今までのように簡単には取れず.というわけで,観念してカーネルをあげてみることにしました.今回のuptimeは42日でした.カーネル上げたらQEMUのビルドでエラーでなくなって(゜Д゜)ウマー.
[コメントを書く]
■perlの例外処理
catch/throwみたなことをPerlでやりたくて調べたら,なんとeval/dieでできるのね.なるほど.すごい.
[コメントを書く]
- tacash ◆cR08PK3l1o 2006/05/13(土) 10:01:58
- Perl is すこい
- nosuke 2006/05/13(土) 13:44:32
- すこいキタ━━━━(゜∀゜)━━━━ッ!!
■mlterm-2.9.3とzsh
mlterm.tiの記述の中の「sgr0=\E[m\E(B」がzshのプロンプトを乱す模様・・・.よくわからんのですが,これを「sgr0=\E(B\E[m」にするとプロンプトにごみが入らなくなります.
[コメントを書く]
- 佐藤精一 2006/05/13(土) 22:16:24
- 調べてくれてありがとうございます。
ncursesのバージョンを教えてください。
- nosuke 2006/05/14(日) 02:39:24
- こんにちは.報告までにもうちっと調べてから・・・と思ってました.すいませんです.
上記現象の出ている環境のncursesは5.3 (5.3.20021012) です.
2006年 5月11日 (木)
■時間ねー
何か時間が無いというか,余裕が無いです.明日になれば・・・.
[コメントを書く]
■uim-trunk
OpenZaurusだとどうか.Linuxですが,ARMなんで,はまるとしたらcharまわりかな(遙か前にGBAで遊んでてはまりましたが,ARMのgccのcharは符号無しらしい).あと -Wcast-align で引っかかりそう.というわけでやってみたらやっぱ両方出ました.char回りはすぐ修正.cast-alignはslib.cなんでそのまま・・・.-Werrorやっぱり厳しいっす.あとなぜかximic.cppコンパイルするところでエラーが出ました.こんなの↓ STL回り?gccの入れ方がまずいか?
/media/hdd/usr_local/bin/../lib/gcc/armv5tel-unknown-linux-gnu/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h: \ In member function `void pe_stat::new_segment(int)': /media/hdd/usr_local/bin/../lib/gcc/armv5tel-unknown-linux-gnu/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:435: \ 警告: '__p' might be used uninitialized in this function
ちなみに,せっかく--with-qtでビルドしたのにQtで認識できませんでした(´・ω・`).まずい,これではKO/Piが・・・.
[コメントを書く]
- nosuke 2006/05/12(金) 13:48:42
- どはー,commitログ間違えているorz
pid_tはlongにキャストして,printfの中身を%ldにしたのが正解でした(´・ω・) - ekato 2006/05/12(金) 18:07:55
- ふつー -fsigned-char とかするんじゃないですか?
昔の記憶ですが、ppc の Linux だと、 rpm とかの build のデフォルト
CFLAGS に入ってました。
あと、いちおう --disable-warnings-into-error を選べるように
configure のオプションに入れておきましたよ。 - nosuke 2006/05/12(金) 18:56:21
- こんにちは,どうもです.
> ふつー -fsigned-char とかするんじゃないですか?
Σ(゜д゜lll) ガーン,それが普通だったんですか.
ARMでは野良ビルドしかしてないんで(^^; まったく知りませんでした
ただ,個人的には この辺,コードの側でcharのデフォルトがsignedでもunsignedでもどっちでも大丈夫なようにしておくのがいいのかなーと思ったりしてます.
# -fsigned-char は非常手段のイメージが・・・
> あと、いちおう --disable-warnings-into-error を選べるように
> configure のオプションに入れておきましたよ。
うあ,見落としてました.すいません.
# ついでに -Werror,デフォルトno というのは駄目ですかね(^^;;;
## 風博士ではデフォルトnoらしいっす・・・
## http://lists.sourceforge.jp/mailman/archives/kazehakase-devel/2006-January/002516.html - ekato 2006/05/12(金) 20:33:00
- > ついでに -Werror,デフォルトno というのは駄目ですかね
どうでしょう? デフォルト yes でいいと思いますけど。選べるわけですから。
ただ、Fedora Core 5 でも Qt が 3.3.5 でひっかかりました。Qt 3.3.6
だと直っているようで大丈夫だったんですけどね。
> pid_tはlongにキャストして,printfの中身を%ldにしたのが正解でした
これ、実はまずかったみたいです。というのも、UIM_EVAL_FSTRING* は
%ld サポートしてないみたいなんですよ… - nosuke 2006/05/12(金) 20:46:51
- > どうでしょう? デフォルト yes でいいと思いますけど。選べるわけですから。
それもそうっすね.警告が出てビルドが通らない場合は --disable-warnings-into-error を付ける,はFAQってことで
> UIM_EVAL_FSTRING* は%ld サポートしてないみたいなんですよ
うわー,申し訳ないです.十分にテストせずにcommitしてしまいました.
%dと%sだけなんですね・・・.失礼しました. - ekato 2006/05/13(土) 15:30:11
- やっぱりリリースブランチではnoにします。
ところでだれか真字のアイコン作らないかな…
2006年 5月10日 (水)
■日付ずれてたし
今日は更新が早いなと思った人すいません.日付が一日ずれてましたorz.何かどうにも忙しくてメールさえままならぬ・・・.
[コメントを書く]
■mlterm-2.9.3とzsh
帰りの電車で実験.mlterm-2.9.3のmlterm.tiを入れてzsh-4.3.2とかzsh-4.2.4を動かすと,プロンプトの先頭に「[27m」なる謎の文字がつきます.「PROMPT="$ "」とか超シンプルにしても出ます.2.9.2のmlterm.tiだと問題なし.bashでは問題なし.謎だ・・・.
試しにroot権限でmltermをあげてzshを動かしてみたら出ませんでした.ありゃ,設定の問題か?でもnosuke権限であげてるmltermの中でsu -してzshを動かすとごみが出る.・・・うーん,この差は何だ?・・・と思ったら,「mlterm -y mlterm」し忘れてるだけでした.やっぱzshとの間で何か問題があるっぽいなぁ.
[コメントを書く]
- nosuke 2006/05/12(金) 20:16:20
- とりあえず
sgr0=\E(B\E[m
が効いている模様・・・
2006年5月14日から2006年5月10日までの日記を表示中
daisuke氏のパッチを一つ前(20051018)のにして、今qtをビルドし直してみてます。
意味ないですかね?
Celeron500のマシンでやってるから夕方までかかりますな。
ひとまず駄目なときは↓のようなメッセージがでてますね.
sending IMEnd with 0 chars to 0x885cf18, text=
QTextCursor::gotoParagraph Index: 7 out of range
fc5のqtのビルドの仕方見てみると、widget/qtextedit.cppまわりにもっと色々パッチあてて修正してるんですよね。
今、fc5が当ててるパッチ全部あててqtのリビルド中。俺コード分かんないから、やり方が場当たり的でダメねえ。
多くの人は問題感じてないんですかねえ?