Fork me on GitHub

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.

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.

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.

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

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.

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.

Next Page >