ラベル Zaurus の投稿を表示しています。 すべての投稿を表示
ラベル Zaurus の投稿を表示しています。 すべての投稿を表示

2009/05/28

OpenBSD/Zaurusで Dillo 2 と Minimo

久しぶりにOpenBSD/Zaurus環境をいじっています。
しばらくVIM、Alpineやw3mくらいしか使っていませんでした。

使っているOpenBSD/Zaurus は 4.5 です。

まずはDillo 2です。
OpenBSD/Zaurusのパッケージとして配布されているモノをそのまま使用しています。


日本語表示も問題なくできているみたいです。

Shift JISのページ(www.yomiuri.co.jp)、ISO-2022-JPのページ(www.linux.or.jp)、UTF-8のページ(slashdot.jp)などを表示してみましたが特に問題なく表示できました。

私の環境では日本語入力はできていません。
もうちょっといじれば日本語入力できるようになるのかな?

JavaScriptも動かないみたいですが、そんなに気になりません。

とにかく軽いのがいいですね。


次にMinimoです。
こちらもOpenBSD/Zaurusのパッケージになっているものをそのまま使用しています。


こちらは結構重いですが、あまり凝っていないサイトを表示する分には問題ないです。

日本語入力できますし、JavaScriptも動きます。
Flash使っているようなサイト以外はいけるんじゃないでしょうか。
表示するまでに時間はかかりますが…。


Dillo 2 で日本語入力できるようになればいいんだけどなぁ。

2008/12/19

AlpineでSMTPサーバを使い分ける

OpenBSD/ZaurusではAlpineを使用しています。
私が使っているのはこちらで配布されている、すべてのパッチが当たっているAlpineです。

私が使用しているメールアドレスは主にBiglobeとGMailでSMTPサーバも両方にあります。
ブラウザでGMailの設定を変更し、GMailのSMTPサーバからFromをBiglobeのメールアドレスにしても送れるようにしてあります。

Alpineからメールを送る際に今までは以下の問題がありました。
  • BiglobeのSMTPサーバからFromをGMailのアドレスにして送るとエラーになる

  • GMailのSMTPサーバからFromをBiglobeのアドレスにして送ることは出来るが、Return-pathにGMailのアドレスが付加されてしまう


FromをBiglobeのアドレスにした際にGMailのアドレスを知られたくはないので、次のようにAlpineを設定することにしました。
  • FromをBiglobeにして送る際はBiglobeのSMTPサーバを使用する

  • FromがBiglobeでなければGMailのSMTPサーバを使用する


.pinercのsmtp-serverとsmtp-rulesを以下のように設定しました。
smtp-server=smtp.gmail.com:587/user=GMailユーザ名@gmail.com
smtp-rules=_ADDRESS_ == {Biglobeのメールアドレス}
=> _SMTP_{mail.biglobe.ne.jp:587/user=Biglobeメールアドレス}
(実際は一行)


これで意図通りになったみたいです。

2008/11/30

CUI で GMail

OpenBSD/Zaurus の MUA として、最近は Alpine で GMail を使っているのですが、[GMail]/All Mail には17,000通以上あるので開くのにはそれなりの時間がかかります。
(GMail は英語に設定)

ラベルを付けたメールはいいのですが、ラベルを付け忘れたメールを参照するためにたまに [GMail]/All Mail を開く時に多少困ります。

Alpine の設定やパッチで、例えば一度に表示するのは20通までにするとか出来ればいいのですが、それっぽいのが見付かりません
(もっとよく探せばあるのでしょうか?)

色々試したところ、Mobile GMail の設定で [GMail]/All Mail も表示するようにし、それを Elinks で参照するのが一番いいかなという気がします。

ラベルを付け忘れたメールにラベルを付けるには、
 (1)Elinks + Mobile GMail で該当するメールを探す
 (2)Elinks + Mobile GMail で該当するメールを Inbox に入れる
 (3)Alpine で Inbox 内の該当メールにラベルを付ける
としています。

めんどくさいです。
他にいい手段や Alpine の設定などがないか、継続して探したいとは思います。

2008/11/21

vim-bloggerの設定

OpenBSD/Zaurus で vim-bloggerというプラグインを使うことにしました。

こちらにダウンロード先へのリンクがあるのですが、私が見た時はリンク先のサーバに繋がらなかったので、Googleソースコード検索から取得しました。

$HOME/.vim/ 以下に vim-blogger を展開し、さらに $HOME/.vim/plugin/creds.vim を作成して次のように記述しました。
let g:Blog_URI = "http://hanagurotanuki.blogspot.com"
let g:Gmail_Account = "GMail アドレス"
let g:Gmail_Password = "GMail パスワード"
let g:Blog_Use_Markdown = 0


使用してみると UnicodeEncodeError というエラーが出ました。
そこで/usr/local/lib/python2.5/site-packages/sitecustomize.pyを作成し、次のように記述しました。
import sys
sys.setdefaultencoding('utf-8')



vim 起動後 :Blog で vim-blogger 起動します。
その後 :BlogIndex 等のコマンドが使えるようになります。

vim-bloggerで投稿

vim-bloggerというvimのplugin (script?) をみつけました。
vim から Google Blogger に直接記事を新規作成することも出来ますし、編集することも出来ます。

上記のサイトからたどれるダウンロード先がつながらなかったので、Google ソースコード検索からいただいてきました。

最近になって XML-RPC というものを(今更ながら)知り、vim で使える weblog クライアントを探してました。

Biglobeのブログの方もWindows Live Writerとやらで出来るらしいのですが、vim のプラグインで投稿出来るものが見つかりません。
vimblog.vimをBiglobeのブログで使用出来るように API を修正するといいとこまで行くのですが、文字コードがらみらしいエラーが出て投稿出来ませんでした。
javaがらみのようなので、多分 Biglobe のブログの投稿先の Tomcat が返しているエラーメッセージなのかなと思うのですが…。
力不足です。

この投稿記事は vim-blogger で作成しています。
投稿出来るかな?

2008/04/16

OpenBSD/Zaurus + イー・モバイル H11T

携帯をイー・モバイルのH11Tに変えました。
とりあえずOpenBSD/ZaurusにUSB接続してネットに繋げることを確認しました。
(この文章もOpenBSD/Zaurus + H11Tで接続して書き込んでいます)

以下は接続までの手順です。
ネットで検索したりマニュアル(11-16, 11-17)で調べて記述しました。
set ifaddrとかがこれでいいのか分かりません。

・/etc/ppp/ppp.confを作成
default:
set log Phase Chat
emobile:
enable force-scripts
set device /dev/cuaU0
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ OK-ATZ-OK ATD\\T TIMEOUT 20 CONNECT"
set login
set timeout 300
# set phone "*99***1#"
set phone "*99#"
set authname "em"
set authkey "em"
set ifaddr 172.16.0.1/0 172.16.0.2/0 0.0.0.0 0.0.0.0
add default HISADDR
enable dns


・PPP接続する
# ppp emobile
Working in interactive mode
Using interface: tun0
ppp ON harry> dial
ppp ON harry>
Ppp ON harry>
PPp ON harry> Warning: 0.0.0.0/0: Change route failed: errno: No such process
Warning: ff01:c::/32: Change route failed: errno: Network is unreachable
Warning: ff02:c::/32: Change route failed: errno: Network is unreachable
PPP ON harry>

警告がとっても気になります。

set ifaddrとかいじってみてはいるんですけど…。

2008/04/05

OpenBSD/Zaurus + Vim7

Chalice(2chリーダ)使う関係でVim6を使っていたのですが、Vim7に変更。
理由は、行番号表示(set number)が強制的に8桁とられてしまうのが嫌で、Vim7では必要に応じて桁数が変わるという情報があったからです。

タダでさえOpenBSD/Zaurusは表示が狭いのに…。

Vim6でも設定で何とか出来そうな気もしますけど。

・Vimのバージョン
:version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 19 2008 13:29:35)
適用済パッチ: 2-6, 8-21, 23-25
Compiled by xxx@xxx.xxx
通常 版 without GUI. 機能の一覧 有効(+)/無効(-)
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset
+cindent -clientserver -clipboard +cmdline_compl +cmdline_hist
+cmdline_info +comments +cryptv -cscope +cursorshape +dialog_con
+diff +digraphs -dnd -ebcdic -emacs_tags +eval +ex_extra
+extra_search -farsi +file_in_path +find_in_path +float +folding
-footer +fork() +gettext -hangul_input +iconv +insert_expand
+jumplist -keymap -langmap +libcall +linebreak +lispindent +listcmds
+localmap +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg
-osfiletype +path_extra +perl +postscript +printer -profile +python+quickfix +reltime -rightleft +ruby +scrollbind -signs +smartindent
-sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static
-tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra
+viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11
-xfontset -xim -xsmp -xterm_clipboard -xterm_save
システム vimrc: "$VIM/vimrc"
ユーザ vimrc: "$HOME/.vimrc"
ユーザ exrc: "$HOME/.exrc"
省略時の $VIM: "/usr/local/share/vim"
コンパイル: cc -c -I. -Iproto -DHAVE_CONFIG_H
-I/usr/local/include -O3 -fno-delete-null-pointer-checks
-I/usr/local/include
-I/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-I/usr/local/include/python2.5 -pthread
-I/usr/local/lib/ruby/1.8/arm-openbsd4.4
リンク: cc -L. -Wl,-E -Wl,
-R/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-L/usr/local/lib -o vim -lcurses -lintl -liconv
-Wl,-R/usr/libdata/perl5/arm-openbsd/5.8.8/CORE -Wl,-E
/usr/libdata/perl5/arm-openbsd/5.8.8/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-lperl -lutil -lc -L/usr/local/lib/python2.5/config
-lpython2.5 -pthread -lutil -Wl,--export-dynamic
-Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby -lm

・~/.exrc
set tabstop=4
set showmatch
set autoindent
set number
set showmatch
set shiftwidth=4
set showmode
set tags=./tags

・~/.vimrc
文字コード関連はこちらを参考にさせてもらいました。(というかそのままです)
" 他のviとの共通設定を読み込む
source ~/.exrc

filetype plugin on

" c-]でタグジャンプしたらc-[で戻る
" nmap <c-[> :pop<CR>

" allow backspacing over everything in insert mode
" set backspace=indent,eol,start
" if &t_Co > 2 || has("gui_running")
" syntax on
" set hlsearch
" endif
"
hi linenr term=bold ctermfg=darkblue
"256 color
set t_Co=256

" --------------------------------------
" Encoding

" 文字コードの自動認識
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','. s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
set ambiwidth=double
endif

" --------------------------------------

" --------------------------------------
" for Chalice

" URLを外部ブラウザ(dillo)で起動
let chalice_exbrowser_1 = 'dillo %URL% &'

" URLを画像ビューア(qiv)で起動
" let chalice_exbrowser_0 = 'wget -O /tmp/$USER.img %URL% ; qiv -n /tmp/$USER.img'
let chalice_exbrowser_0 = 'feh %URL% '

" URLを新しいscreenウィンドウ上のw3mで起動
let chalice_exbrowser = 'screen -X screen elinks %URL% '

" 自動プレビューは利用しない
let chalice_preview = 0

" プレビューは自動で閉じる
" let chalice_previewflags = 'autoclose'
let chalice_previewflags = 'stay'

" Chalice起動時は栞を開く
let chalice_startupflags = 'bookmark'
let chalice_columns = -1
"let chalice_boardlist_columns = 11
" --------------------------------------


こちらのとおりに文字コード関連の設定を行なったところ、Chalice も vim-bloggerも encoding を変えなくても一見すると文字化け等はしなくなったのですが、Chalice で記事を "r" で部分アップデートすると追加された箇所から文字化けしてしまいました。

Chalice 1.9.019 で対策された問題のようですので Chalice をアップデートしたところ、部分アップデートしても文字化けしなくなりました。

2008/12/01 追記
Vim の :version と .vimrc を変更。
前のままだと、encoding を vim-blogger と Chalice とで切り替えなければな使えなかったので。
2008/12/01 追記終了

2008/03/10

OpenBSD/Zaurus + Firefox

OpenBSD/Zaurusでグラフィカルなブラウザで見たいサイトではMinimoかDilloを使用していたのですが、もうちょっと使い易いブラウザにしたい気がします。
例えばブックマークレットの使用などです。

で、Firefoxを試してみることにし、以下のように設定することでそれなりに使えるようにはなりました。

アドレス入力欄にabout:configと入力して表示される画面から、次の値を追加 or 変更します。
詳細なやり方はネットで検索すればすぐに出てきます。
browser.cache.memory.capacity → 1024
browser.sessionhistory.max_total_viewers → 0
config.trim_on_minimize → true

prefs.jsには次のエントリーが追加 or 変更されました。
user_pref("browser.cache.memory.capacity", 1024);
user_pref("browser.sessionhistory.max_total_viewers", 0);
user_pref("config.trim_on_minimize", true);

起動に時間がかかるのは相変らずな気がしますが、起動後はかなり快適になりました。
速度以外を含めたトータルな使い勝手ではMinimoよりかなり上になったと思います。



Firefoxはportsから最新版を持ってきてdistccを使用してPC(のVMWare Server)上のOpenBSDを利用して分散コンパイルしました。
ちゃんと計っていませんが、半日くらいで終ったのではないでしょうか。

デフォルト状態ではとてつもなく重かったです。
起動するまでの時間を見ていたところ、4分以上かかりました。
起動後もちょっと使えないなという感じです。
make直後なので、その影響もかなりあったとは思いますけど。

2008/03/05

OpenBSD/Zaurusで高負荷時の余計なキーリピートの対策

○X使用時、高負荷がかかっている時にキー入力した際に意図せずキーリピートしてしまう(キー連打になってしまう)のを回避する。

/etc/X11/xorg.confのにAutoRepeatの設定を追加しました。
あいかわらずよくわからずにやってます。
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "Protocol" "standard"
Option "XkbRules" "xorg"
Option "XkbModel" "zaurus"
Option "XkbLayout" "us"
# 20080304 (See keyboard(4))
Option "AutoRepeat" "800 30"
EndSection

次のようにしたつもりです。
  • リピート開始:500ms(デフォルト)→800ms
  • 1秒間のリピート数:30回(デフォルト)→そのまま


とりあえずこれでいってみます。

2008/02/29

OpenBSD/Zaurusでスクリーンショット取得

前回のスクリーンショットはscrotというCUIアプリを使用しました。
OpenBSDのports(graphics/scrot)にあります。

$ scrot -d 5

上記のコマンドで5秒後にスクリーンショットを取得します。

オプションは他にも色々あるようです。


何故だか分からないのですが、GIMP 1.2.5でスクリーンショットを取得すると色がおかしくなってしまいます。
全体的に緑っぽい画像になります。

よく目にする状態な気がするので、調べればすぐに分かるのではないかと思っているのですが。
色数とかでしょうか。

OpenBSD/Zaurus + GIMP + Blender

OpenBSD/ZaurusにGIMPとBlenderを入れてみました。
画像はOpenBSD/Zaurus(4.3-beta) + Fluxbox上でのスクリーンショットです。

私はCGは2Dも3Dも全く出来ませんので、まだ本当に入れただけです。
これから覚えたいと思っています。
(横になりながら使って)


入れたのはかなり古いバージョンです。
軽さを重視したためです。
GIMP 1.2.5
Blender 2.28c

GIMPでは800x640のJPEG画像を開いて透明度を調整して再度JPEGにエクスポートしましたが、特に遅いとは感じませんでした。

Blenderも起動やメニュー操作は気になるような遅さではないと思います。
肝心のモデリングやレンダリングは試してませんけど。

どちらも想像以上にキビキビ動いている印象です。


--
GIMPの方は最初はインストール時の最新バージョン2.4を入れたのですが…、とてつもなく重かったです。
起動するのにもかなりの時間がかかりました。

で、GIMP 1.2.5を入れたのですが、PDA用としては十分実用に耐えるくらいには軽い気がします。
多分…。


Blenderは最初から古いものをインストールすることにしました。
GIMPが最新版ではとても実用に耐えられなかったので3DのBlenderは尚更だろうと考えたのと、makeにかなりの時間を要すと想像されるので一度最新版を入れて試すのも面倒ではないかと考えたからです。

当初バージョン2.26をインストールしようとしたのですが、どうやらPython 2.2がないとダメみたいです。
Python2.3を使用するように環境変数PHYTONを指定してconfigureしmakeを開始してみたのですがエラーで止まってしまいました。

環境を極力壊したくないのでライブラリ等はportsからインストールしたいのですが、現在portsに用意されているのはPython 2.3~2.5で2.2はありません。
CVSで確認したところ昔は2.2があったようで、CVSで2.2を取得してmake installを始めてみたのですが途中でつまずいてしまい、私の力では先に進めることが出来ませんでした。

Blender 2.28cを取得して確認したところarm用のパッケージも用意されているPython 2.3で行けそうでした。

2.28cでもSDLのリンクがらみなどでつまずいてしまいましたが、なんとかバイナリ作成 ― インストールまでこぎつけました。

Blenderのmakeはdistccを使用して分散コンパイルをして行いましたが、それほど時間はかかりませんでした。
GIMPもdistccを使用しましたが、計ってはいませんがGIMPの方がmakeに時間がかかった気がします。
これくらいならportsにある新しいBlenderを入れて試してみたい気もします。

Blenderの使用感ですが、起動 ― ボタン操作は思った以上にサクサク動きます。
GIMP 2.4とは比較にならないくらい速いです。

まあ、BlenderもGIMPも実際に使ってみないと分かりませんけど。


--
BlenderはBlender Pocketなるものがあるくらいですから、実用に耐えないんじゃないかという気はしてます。

レンダリングとかどうなんだろう…

2008/02/28

OpenBSD/Zaurus + mlterm

OpenBSD + mlterm + GNU screenという環境でw3mを使用している場合、うちでは画像のインライン表示を通常はOFFにしているため、画像のリンクのフォントは緑色で表示されます。

しかし、w3mでフォントを緑色に設定している場合のmltermの緑色では文字が判別しずらいです。

これはmlterm側の設定をいじったところ。判別しやすい緑色にすることができました。

$HOME/.mlterm/color
#green=#00e600
green=#006600

抹茶の色みたいでいい感じです。

2008/02/23

vimの設定 (2008/02/23)

OpenBSDの2chブラウザにChaliceというvimのプラグインを使ってみることにしました。
2008/02/23時点での.vimrcは以下のとおり。
" 他のviとの共通設定を読み込む
source ~/.exrc

filetype plugin on

" c-]でタグジャンプしたらc-[で戻る
nmap :pop

" エンコーディングの設定
" Chaliceで文字化けしないようにしたつもり
set encoding=euc-jp
set fileencodings=cp932,euc-jp,utf-8
set termencoding=euc-jp

" allow backspacing over everything in insert mode
" set backspace=indent,eol,start
" if &t_Co > 2 || has("gui_running")
" syntax on
" set hlsearch
" endif
"
hi linenr term=bold ctermfg=darkblue

" --------------------------------------
" for Chalice

" URLを外部ブラウザ(dillo)で起動
let chalice_exbrowser = 'dillo %URL% &'

" URLを画像ビューア(qiv)で起動
let chalice_exbrowser_0 =
'wget -O /tmp/$USER.img %URL% ; qiv -n /tmp/$USER.img'

" let chalice_exbrowser_0 = 'wget -O /tmp/$USER.img %URL% ; qiv -n /tmp/$USER.img'
let chalice_exbrowser_0 = 'feh %URL% '



" URLを新しいscreenウィンドウ上のw3mで起動
let chalice_exbrowser_1 = 'screen -X screen w3m %URL% '

" プレビューは自動で閉じる
let chalice_previewflags = 'autoclose'

" Chalice起動時は栞を開く
let chalice_startupflags = 'bookmark'
" --------------------------------------

画像を画像ビューアで開く設定がこんなのしか思い浮かびませんでした。
ネット上の画像を直接開ければいいのだけど。

(20080310 追記)
fehというのにしてみました。
ネットワーク上のファイルを直接指定できます。
qiv程ではないですが軽いです。

2008/02/20

OpenBSD/Zaurus + minimo

Portsのminimoがアップデートされてminimo-20080210になったので、minimo-20071108からアップデートしてみました。

大きいソフトなのでdistccを使って、コンパイルはdistccサーバ(i386)でするようにしました。
distccを使用する場合は/usr/local/lib/distcc/以下のgccなどを実行するように設定しています。
$ cd /usr/ports/www/minimo
$ CC=/usr/local/lib/distcc/gcc
CXX=/usr/local/lib/distcc/g++
make update

で行けたようです。
他のPortsではMakefile等をいじらなければならない場合もありますけど。


minimo-20080210にした感想ですが、結構きびきび動くようになった気がします。
気のせいかな?

他には大きな違いには気づいていません。

2008/02/17

OpenBSD/ZaurusのRSS Reader (w3mでXML?)

w3m + Google Reader mobile

をしばらく使ってみることにしました。
今まではsnownewsというRSS Readerを、多少の文字化けを気にしながら使用していました。

Google Reader mobileはXMLを使っているらしく、w3mはそのままだとファイルのダウンロードの確認画面になってしまいます。

色々調べたところ、mailcapに以下のように書くとGoogle Reader mobileを使えるようになりました。
仕組みはわかりません…。
application/xhtml+xml;cat %s; x-htmloutput

2008/02/03

OpenBSD/Zaurusと分散コンパイル (Qt4.4TP1は挫折中)

相変らず体調悪し。

OpenBSD/ZaurusでQt 4.4 TP1のビルドは挫折中…。
ちょこちょこ修正しながらビルドしてたのだけど、OS固有のpthread関数の所で止まってます。
../JavaScriptCore/kjs/collector.cpp: In function `void*
KJS::currentThreadStackBase()':
../JavaScriptCore/kjs/collector.cpp:300: error: `pthread_getattr_np' undeclared
(first use this function)
../JavaScriptCore/kjs/collector.cpp:300: error: (Each undeclared identifier is
reported only once for each function it appears in.)

こちらを参考に修正しようとしたのだけど、横になりながらZaurusで修正しつづけるのも辛いので止めました。


でも、Qt4.4 TP1のビルド中に結構便利な環境が出来ました。
メモはあまり取っていませんけど。

distccで分散コンパイル環境を作成しました。
サーバ: OpenBSD(i386) 4.2
クライアント: OpenBSD(zaurus) 4.2
という環境です。

i386の方はWindowsXPマシン上のVMWare Serverで構築しました。

手間取ったのは下記の点でした。

(1) GNU標準のgccではarm-openbsdのクロスコンパイラが作成出来ない?
最初はノートPCに入っているLinux上でクロスコンパイラを作成しようとしたのですが、arm-openbsdのクロスコンパイラってGNU標準のgccで出来ませんでした。
i386-openbsdとかarm-linuxは調べた範囲、またconfigureしてみた範囲では出来るっぽいですけど。
もちろん私の調べ方が甘いのかもしれません。

で、どうしようかと思っていたのですが、どうやらOpenBSD(i386)で簡単にarmのクロスコンパイル環境が作成出来るらしい。
ということで、やってみました。

(2)クロスコンパイラの作成途中でエラーになる
# cd /usr/src
# TARGET=zaurus make cross-distrib

あちこちでエラーになります。

Makefile.crossを修正して、必要(そう)なライブラリをリンクしたり、SSLを使用するものを外したりしたところ、一応makeは終了するようになったみたいです。
(Makefile.crossを見たところ、SSLはビルドしないようになっている???)

こんなんでいいのか不安ですが、使いたいのはクロスコンパイラだけだし、試してみたらi386でarm用のOpenBSD実行ファイルが出来たので、まあいいとしましょう。



分散コンパイルに使用するdistccというアプリはこちらからいただいてきました。
インストールする場所は、色々なサイトを参考に適当に決めました。
今となってはもうちょっと考えるべきだったかなと思います。

サーバとして使用するOpenBSD(i386)の方は/usr/local/distcc以下にインストールし、次のような構成にしました。
lrwxr-xr-x  1 root  wheel       6 Jan 26 14:23 arm-unknown-openbsd4.2-c++ -> distcc
lrwxr-xr-x 1 root wheel 6 Jan 26 14:23 arm-unknown-openbsd4.2-g++ -> distcc
lrwxr-xr-x 1 root wheel 6 Jan 26 14:23 arm-unknown-openbsd4.2-gcc -> distcc
-rwxr-xr-x 1 root wheel 304288 Jan 25 18:23 distcc
-rwxr-xr-x 1 root wheel 368353 Jan 25 18:23 distccd
-rwxr-xr-x 1 root wheel 118547 Jan 25 18:23 distccmon-text

クライアント(arm)の方は/usr/local以下にインストールし、/usr/local/lib/distcc/以下に次のような構成でリンクを作成しました。
lrwxr-xr-x  1 root  wheel   21 Jan 26 22:01 arm-unknown-openbsd4.2-c++
-> /usr/local/bin/distcc
lrwxr-xr-x 1 root wheel 21 Jan 26 22:01 arm-unknown-openbsd4.2-g++
-> /usr/local/bin/distcc
lrwxr-xr-x 1 root wheel 21 Jan 26 22:00 arm-unknown-openbsd4.2-gcc
-> /usr/local/bin/distcc
-rwxr-xr-x 1 root wheel 148 Jan 30 22:50 arm-unknown-openbsd4.2-wrapper
lrwxr-xr-x 1 root wheel 30 Jan 26 22:10 c++ -> arm-unknown-openbsd4.2-wrapper
lrwxr-xr-x 1 root wheel 30 Jan 26 22:10 g++ -> arm-unknown-openbsd4.2-wrapper
lrwxr-xr-x 1 root wheel 30 Jan 26 22:10 gcc -> arm-unknown-openbsd4.2-wrapper

arm-unknown-openbsd4.2-wrapperはシェルスクリプトで中身は次のとおりです。
#!/bin/sh
export DISTCC_DIR=/tmp
export DISTCC_HOSTS='サーバのIPアドレス localhost'
exec /usr/local/lib/distcc/arm-unknown-openbsd4.2-${0##*/} "$@"
exit

クライアイント(arm)でのコンパイル時にPATH環境変数上に存在するgcc(/usr/bin/gcc)の代わりに/usr/local/lib/dist/gccを呼ぶようにします。
クライアント(arm)側ではarm-unknown-openbsd4.2-gccというシンボリックリンク経由でdistccを実行し、サーバ(i386)上ではクロスコンパイラであるarm-unknown-openbsd4.2-gcc( /usr/cross/zaurus/usr/bin/arm-unknown-openbsd4.2-gcc)を呼びだすようにします。

サーバ(i386)では/etc/rc.localに次のように記述して、OS起動時にdistccdを実行するようにしました。
echo -n 'starting distccd'
DISTCCD_PATH=/usr/cross/zaurus/usr/bin /usr/local/distcc/bin/distccd
--daemon --allow xxx.xxx.0.0/24 --log-file /var/log/distcc.log



以上、横になりながらメモも取らずに作業したのですが、確かこんな感じだったと思います。
適当に設定したわりにはとてもいい感じで使えてます

確か丸一日近くかけてビルドしていたkonqueror embeddedも一時間くらいで終ります。

2008/01/08

w3mでWeb上のWAVEファイルを再生

OpenBSD/Zaurusのw3mで英和辞書検索をした際に単語の音声を再生出来る場合にw3mから再生出来るようにしました。

~/.w3m/config
mailcap ~/.w3m/mailcap, /etc/w3m/mailcap

~/.w3m/mailcap
audio/x-wav; waveplay  %s > /dev/null 2>1&; needsterminal

目的は果せました。

waveplayが軽いからなのか、サクサク再生されます。

2007/12/16

OpenBSD/Zaurus + w3m + namazu

OpenBSD/Zaurus(SL-C3000)で使用しているw3mのローカルCGI機能でnamazuを使ってみることにしました。
ローカルに保存してあるHTMLドキュメントを検索するために使います。

namazu-2.0.17.tar.gzをダウンロードしてきて普通にインストール。
$ ./configure
$ make

# make install


で、namazu.cgiをw3mの/cgi-binに指定しているディレクトリ(私の場合は~/cgi-bin)にコピーし、namazurc-sampleから.namazurcを作成。
$ cp /usr/local/libexec/namazu.cgi ~/cgi-bin/
$ cp /usr/local/etc/namazu/namazurc-sample ~/cgi-bin/.namazurc


.namazurcは以下の箇所を設定。
インデックスは~/namazu/index/に作成する。
Index         /home/ユーザ名/namazu/index
Template /home/ユーザ名/namazu/index
Replace /home/ユーザ名/cgi-bin/ file:///cgi-bin/
Lang ja


インデックスを作成。
HTMLドキュメントは~/Document/Html/に置いてあります。
$ mknmz -O $HOME/namazu/index $HOME/Documents/Html/


とりあえず検索できるようになりました。
$ w3m file:///cgi-bin/namazu.cgi



w3mのローカルCGIって便利。

この機能を使って動かしているのは、
・w3m-2ch
・ハイパー日記システム
・namazu
です。

2007/12/15

OpenBSD/Zaurus パッケージをFTPサイトからインストール

ftpから直接インストールする。

# export PKG_PATH=ftp://ftp.jaist.ac.jp/pub/OpenBSD/snapshots/packages/arm
# pkg_add p5-PerlMagick
jasper-1.900.1: complete
jbigkit-1.6p1: complete
netpbm-10.26.42: complete
ghostscript-8.54p1: complete
transfig-3.2.4p0: complete
ImageMagick-6.3.4.1: complete
p5-PerlMagick-6.3.4.1: complete

OpenBSD/Zauruusで日記

OpenBSD/Zaurus(SL-C3000)で日記をつけることにしました。

w3mのローカルCGI機能を使ってハイパー日記システムを動かすことにします。


ハイパー日記システムのうちpublic_html以下にインストールするものを、w3mの「/cgi-bin で表されるディレクトリ」の設定で指定したディレクトリ以下にインストールしたところ、とりあえず動いているようです。

ハイパ日記システムconfig.phの「diary directory」
# diary direcotry
$DiaryDir = "/home/ユーザ名/diary";
$MyDiaryURI = "file:///cgi-bin/";
$IncludeDir = "/home/ユーザ名/cgi-bin/";


~/.w3m/configの「cgi-bin」
cgi_bin ~/cgi-bin



~/cgi-bin/, ~/diary/ および ~/.w3m/ はQt/Embeddedと共有できるファイルシステムに実体を置いてあるので、Qt/Embeddedのw3mでも使えるんじゃないかな。

試していないけど。