cuspy memo


ncurses-5.6 with uClibc がビルド出来ない問題

2008/02/23 Saturday 01:19:29

fonera(mips) 用の ncurses をクロスコンパイルしようとすると。

% CC=mips-linux-gcc ./configure –prefix=/fs/fon/local/ncurses-5.6 –host=mips-linux-gnu –build=i486-linux-gnu
% make
(略)
gcc -o make_keys -DHAVE_CONFIG_H -I../ncurses -I. -I./../include -I../include ./tinfo/make_keys.c
./make_keys keys.list > init_keytry.h
/bin/sh: line 1: ./make_keys: cannot execute binary file

というエラーが出るけど再度 make するとエラーを気にせず継続出来る。が

mips-linux-gcc -DHAVE_CONFIG_H -I../ncurses -I. -I. -I../include -D_GNU_SOURCE -DNDEBUG -I/fs/fon/local/ncurses-5.6/include/ncurses -O2 -c ../ncurses/codes.c -o ../objects/codes.o
mips-linux-gcc -DHAVE_CONFIG_H -I../ncurses -I. -I. -I../include -D_GNU_SOURCE -DNDEBUG -I/fs/fon/local/ncurses-5.6/include/ncurses -O2 -c ../ncurses/comp_captab.c -o ../objects/comp_captab.o
../ncurses/comp_captab.c: In function ‘_nc_get_table’:
../ncurses/comp_captab.c:74: error: ‘_nc_cap_table’ undeclared (first use in this function)

というエラー、どうやら comp_captab.c は自動生成されているコードのようで、その生成過程に
./make_keys が関わっているので最初のエラーをなんとかすべき。
と言うところまで解ったけどもう眠い。

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/05/30 Friday @ 12:40:09

  2. News…

    SweN, News and News…

    Trackback by News — 2008/06/03 Tuesday @ 06:36:23

  3. Latest Sites News…

    SweN, Latest Sites News and Latest…

    Trackback by Latest Sites News — 2008/06/03 Tuesday @ 06:37:47

  4. Latest…

    TsetaL, Latest and Latest…

    Trackback by Latest — 2008/06/03 Tuesday @ 06:38:20

  5. Sites News…

    SweN, Sites News and Sites…

    Trackback by Sites News — 2008/06/03 Tuesday @ 06:39:07

  6. Latest Site News…

    SweN, Latest Site News and Latest…

    Trackback by Latest Site News — 2008/06/03 Tuesday @ 06:39:23

  7. Latest Refresh…

    HserfeR, Latest Refresh and Latest…

    Trackback by Latest Refresh — 2008/06/03 Tuesday @ 06:39:55

  8. Latest News…

    SweN, Latest News and Latest…

    Trackback by Latest News — 2008/06/03 Tuesday @ 06:40:51

  9. Blog News…

    SweN, Blog News and Blog…

    Trackback by Blog News — 2008/06/03 Tuesday @ 06:41:28

Leave a comment

You must be logged in to post a comment.

hoge

XEP-0060(3. Requirements)和訳

2008/02/21 Thursday 03:40:38

だんだん酷くなっているけど、翻訳を継続する。

pubsub サービスの要件は他のコンポーネントや使用出来るサービスの要求だけでなくエンドユーザーの要求などによって決定されます。まず最初に、Jabber を使用して実装された pubsub サービスが提供しなければならない基本的な機能は

* エンティティはノードのすべての購読者が告知イベントを受け取るといったサービスにイベントを公開出来なければならない。See Publish an Item to a Node.
* エンティティはノードを購読出来なければならない。(あるいは購読が許可されていないことを知らせること)。See Subscribe to a Node.
* エンティティはノードと提携出来なければなりません。提携出来るのはオーナー、公開者、無し、追放者です。実装は、オーナーと無しの提携をサポートしなければなりません。そして追放者と公開者の提携をサポートすることが出来ます。See Affiliations.
* エンティティは pubsub サービス(あるいはノード)がどのようなオプショナルな機能を実装しているかを pubsub サービス(あるいはノード)に問い合わせ出来なくてはなりません。この問い合わせは、Service Discovery(disco#info)プロトコルを使用しなければなりません。See Discover Node Information.

幾つかの使用可能な Jabberベースのpubsubサービスは他の機能を必要とするでしょう、しかしこれらの機能は任意の為、仕様に準拠する為の義務ではありません。しかしながらもしこれらの機能が実装されている場合、ここに記載するプロトコルの詳細に忠実に従うべきです。その機能は以下の通り:

* サービスは最後にノードへ公開されたアイテムをキャッシュすることが可能です(たとえ “persistent-items” オプションを無効にしていたとしても); もし デフォルトで “cache-last-item” が有効だった場合、最後に公開されたアイテム(あるいは通知) は “send_last_published_item” 項目の設定に基づいて購読されたエンティティへ送信されなければなりません。
* ノードの所有者は誰がノードを購読出来るかを指定出来なければなりません。
* ノードの所有者は誰がノードへ公開出来るかを指定出来なければなりません。
* ノードを設定することで公開されたイベント通知内のペイロードを配送することが出来ます。
* ノードを設定することで公開アイテムを幾つかの永続的ストレージメカニズムに永続化することが出来ます。
* ノードを設定することでアイテムの制限数のみ永続化させることが出来ます。
* サービスはコレクションをサポートすることが出来ます。
* サービスやノードは拡張されたサービスディスカバリー情報(メタデータ)をサポートすることが出来ます。

あと、全文を wiki にまとめているところ。mediawiki の skin を作る練習したりなんかして。
http://www.cuspy.org/wiki/XEP-0060
データーベースが実験サーバーで動いているので頻繁に落ちるかも。

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/06/19 Thursday @ 21:54:46

Leave a comment

You must be logged in to post a comment.

hoge

fonera のセルフコンパイル環境が出来た。

2008/02/19 Tuesday 23:07:44

fonera のセルフコンパイル環境をクロスコンパイルしてみる。

binutils は

% CC=mips-linux-gcc ./configure –prefix=/fs/fon/local/binutils-2.18 –host=mips-linux-uclibc –build=i486-linux-gnu

gcc もこんな感じかなーとコンパイルしてみると・・・

% CC=mips-linux-gcc ../gcc-3.4.6/configure –prefix=/fs/fon/local/gcc-3.4.6 –host=mips-linux-uclibc –build=i486-linux-gnu

gcc -c -DHAVE_CONFIG_H -g -O2 -m64 -I. -I../../../../gcc-3.4.6/libiberty/../inc
lude -W -Wall -Wtraditional -pedantic ../../../../gcc-3.4.6/libiberty/regex.c -
o regex.o
In file included from /usr/include/features.h:354,
from /usr/include/stdlib.h:25,
from ../../../../gcc-3.4.6/libiberty/regex.c:130:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory

というエラーが出てしまって困ってたのが先週末の話。
libc6-dev-amd64 を入れればすんなり解決するそうだけど気持ち悪いので仮想環境に libc6-dev-amd64 を入れてビルドする。

uClibc は openwrt のクロスコンパイル環境 staging_dir_mips/lib/ 以下の crt1.o とかcrti.o とか crtn.o をコピって来ればOK。

とりあえず fonera で helloworld をセルフコンパイル出来た。
次は make とか autotools 周辺かな。目指せ fonera で linux kernel のセルフコンパイル。

No comments yet.

Leave a comment

You must be logged in to post a comment.

hoge

サタデーコードフィーバーに行ってきた。

2008/02/17 Sunday 01:13:59

ある程度動くモノを作らなくちゃいけないみたいな程よいプレッシャーがあって全力でフィーバーしてしまった為か、なんかどっと疲れてしまった。作ってきたのものはコレ、

fonreader

fonera で制御する小型のRSSリーダー(というかティッカー?) で slashdot.org の RSSフィードを表示しているところ。実行方法はこんな感じ

% ./fonreader -l /dev/ttyS0 -f slashdot.xml

-l でシリアルデバイスを指定して、 -f でRSS ファイルを指定する。
部品は、先週の日曜日に届いていたのである程度の動作は確認していたけれど(hello world を表示させるくらい)、思わぬ挙動が多くて苦戦してしまった。シリアルデバイスへ連続して write(2) すると上手く表示されなくて、適度に usleep(3) を呼んでやる必要があったり、連続して長い文字列を出力すると化けてしまったり、これはTX 線からおかしなspeed で謎の信号が出ているんじゃないかと疑っている。

なによりおもしろそーな事やっている人がたくさん居たのが楽しかったな、PHP で PHP を構文解析したり、大量の為替データを解析している人がいたり。CSS の構文を拡張している人がいたり。オフィスを貸してくれたウノウさんに感謝!

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/06/17 Tuesday @ 22:21:01

Leave a comment

You must be logged in to post a comment.

hoge

lifehack: 永久電池

2008/02/12 Tuesday 02:57:10

半年ぐらい前に買ったノイズキャンセラのヘッドフォン(あんまし良いモノじゃ無いけどそれなりに静かになる)が余りにも電池食いで、ついうっかりスイッチを入れっぱなしにしてしまうと一晩で、電池が無くなってしまう。頻繁に電池を買うとお金がかかるし捨てるのが面倒、というかエコじゃない。
という訳で前々からAC アダプタと繋ぎたいと思っていたんだけど、直に半田付けするのはちょっと見栄えが悪くなってしまう。
そこで、電池の形をした電池じゃないモノに半田付けして、電池のように電池ボックスに入れれば汎用的で便利そうだなって思って、身の回りに電池の形をした電池じゃないモノを探してみたけどこれが意外に見つからない。
というのが半年ぐらい前の話で、昨日サカさんにダイソーについて行かされた時に遂に発見したよ、電池の形をした電池じゃないモノ。

battery1.jpg

ほら菜箸。

材料一覧
・菜箸
・木ねじ
・リード線
・AC アダプタ(ちょうど良いアダプタがない時は3端子レギュレーター挟むとか)

手順

1. 菜箸を切る。

battery2

糸のこで切った後ヤスリでちょっと丸めた。紐で繋がっているのは菜箸だった名残。

2. 木ねじでリード線を固定する.。
battery3

3. 完成
battery4
ぴったんこ!
便利すぎるの危うくサカさんから大量受注してしまいそうになったけど、結構めんどくさいので各自作って下さい、というお話しでした。
そういえば電池ボックスの構造を把握をせずに左右逆に入れてしまったりしたら危険だな、ショートしてしまう。気をつけて。

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/06/19 Thursday @ 22:08:48

Leave a comment

You must be logged in to post a comment.

hoge

fonera cluster

2008/02/11 Monday 01:31:33

前から言うだけ言っておいて全然手を付けていなかった fonera cluster を作り始めた。
オリジナルのファームウェアも大体固まってきたし、とりあえず6台稼働してみ る。

foneral_cluster

一つだけ丸裸(性的な意味で)な奴が居るけど、それは遊ぶ用。
肝心の MPI ライブラリがクロスコンパイル出来て居ないのが悔しい。

No comments yet.

Leave a comment

You must be logged in to post a comment.

hoge

ひたすら fonera を OpenWrt 化してるところ

2008/02/10 Sunday 10:51:34

最近 fonera の余計な機能を削ぎ落としているうちに、素の OpenWrt を入れた方が早い事に気がついた。そんで root ファイルシステムにいろいろ詰め込んだ、ファームウェアを作って起動させると jffs ファイルシステムがマウント出来ていないことに気がついた。

Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 91, bad_blocks 0, c->nr_blocks 92
jffs2 not ready yet; using ramdisk

メッセージの意味が解っていないんだけど、rootfs のサイズが大き過ぎるんだと思う。
じゃあ何を削ろうかって考えて無線LAN 周りの kernel モジュールをばっさり消してみると正常に JFFS をマウント出来た。なんだか FON社に申し訳ない気がしてきた。

あと、root ファイルシステムをまるごと CVS に入れてバージョン管理してやろうとしたんだけど、CVS だと symlink が扱えないので困った。仕方がないので subversion で管理する。

No comments yet.

Leave a comment

You must be logged in to post a comment.

hoge

urxvt + screen + glibc のいろいろ

2008/02/05 Tuesday 04:07:05

複数のターミナルを使い分けていると、.zshrc とか .emacs とか .vimrc とかがやたらと複雑になってしまってどうにもならなくなってきたので本気でターミナルを urxvt に移行しようと思った。未だ EUC 吐くやつはその都度直せば良いや。
そんで urxvt にで適切な termcap を設定するとすごいことに気がついた、256色も使える。今までの 8色だったのが 256色も見えるようになった。世界が眩しすぎる。でも screen の中だと 256色使えないみたいので何でかなーと思って調べてみると screen の configure で –enable-colors256 する必要があった。etch では コメントされていたので lenny の screen だけ取ってこようと思ったら。glibc も lenny になった。まぁいっかと思ってたら、あらゆるカレントディレクトリに mtrace.log というファイルが出来ていった。確かに環境変数に MALLOC_TRACE=mtrace.log をセットしているんだけれど、同時に MALLOC_CHECK_=0 としているので無効のはず。あとで詳しく追ってみる。

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/06/19 Thursday @ 22:09:42

Leave a comment

You must be logged in to post a comment.

hoge

はじめてのケフィア

2008/02/04 Monday 23:58:44

(よ)が酒のつまみにやずやのケフィアを大量に持ってきた。
カプセルの中身を開けて味わってみるとチーズの出来そこないの様な味がした。
名前だけ良く聞いてたけどあんまりおいしいモンじゃなかったな。というか日本酒のツマミじゃあ無いな。たぶんワインと合うんじゃないかな。

No comments yet.

Leave a comment

You must be logged in to post a comment.

hoge

ICOCA の中身

2008/02/02 Saturday 23:08:49

大阪の mya君が西日本で流通していると云われている felica の ICOCA を 千円で売ってくれた。
さっそく中身を dump してここに貼り付けようかと思ったけど、見る人が見るとmya-君が何処で何を買ったかとかが判ってしまうので一部だけ。

システムコードは 0003 なのでこれは Suica と一緒だな。ということは 0×008B の非暗号化領域に残高がはいっているんじゃなかろうか。

01010212A10A4818:0003:008B:0000:00000000000000003000006004000002

11, 12オクテットが 0×0460 ということは残高 1120円かな。120 円得したw
東京でも使えるんだろうか。

No comments yet.

Leave a comment

You must be logged in to post a comment.

hoge