2008年12月19日金曜日

はてブのはてブの果て

はてなブックマークを使っていて時々うっかり「ブックマークのページをブックマーク」しようとしてしまうのですが、これ、どこまで続けられるのかなあと思って数回試してみたんです。(古いブックマークレットを使っています)

はてブのはてブ、あたりで止まるかと思ったのですが、ネスト出来ちゃうんですねこれ
そのうちURL長くなって大変なことになりはしないかと思うんですが……仕様?
(ひとしきりはてブの操作をした後に、タイトルと本文を書き直しました。)

などと、既存事例を調べる前にまずやってみて記事書いてしまう悪い見本の図。

2008年11月26日水曜日

セキュリティ&プログラミングキャンプキャラバン2008岡山 その後

11月1日(土)に岡山で行われた『セキュリティ&プログラミングキャンプキャラバン2008岡山』、盛況のうちに終えることが出来ました。ご参加いただいた皆様、講師運営陣の皆様、改めてありがとうございました。講師の方々と、まとめていただいた記事を改めてご紹介させていただきますと……
という布陣。前半2パート、後半2パートで、それぞれに個性的な内容で話が進み、大変楽しいものとなりました。発表後の会場での質問コーナーも大いに盛り上がりまして、園田さん、吉岡さんが臨場感溢れる素晴らしいまとめ記事を書いて下さいました。是非ご覧下さいませ。

さて、『セキュリティ&プログラミングキャンプキャラバン2008』ですが、新たな開催地が公開されているようです。11/21時点での3件が確定している模様。年度末までにもうちょっと増えるかな? どうかな?

キャラバン岡山では、学生のみではなく社会人の方や、県外からの参加も多数ありました。このブログをどれくらいの方がご覧になられるか分かりませんが、キャラバン開催地近県にお住まいの方、是非足を運んでいただければと思います。個人的に高松のは見に行きたいところですね。

12/23追記:
さらに2件増えました。SFCから一週間で札幌、二週間で金沢ですか…なかなかハードですね。
09/01/28追記:
2月にさらに2件追加。キャラバン金沢(1/31)にはまだ申し込めるみたいですが、停電のため1月30日17:00~2月2日9:30までWebフォームからの参加申し込みは休止とのこと。講師の皆様体調にはお気をつけ下さいませ。

2008年11月24日月曜日

Ubuntu 8.10 で mit-scheme がインストールできない

Ubuntu 8.04LTS で mit-schemeが起動しない件については、コメントにあるようにちょっとした記述で回避できるようです。コメントいただきありがとうございましたm(_ _)m

さて、自宅のほうで古いPCに Ubuntu 8.10 を導入したので、 mit-scheme を試してみようと思ったところ、依存関係の不良(入手不可能なライブラリを参照している)でインストール出来ませんでした・・・

この件についても既に報告が出ているようですが
https://bugs.launchpad.net/ubuntu/+source/mit-scheme/+bug/288000
パッケージのリビルドでも何故か治らず、次バージョンかbackportでfixしたい、という対応になっているようです。上記バグ報告の部分にあるコメントに共感を覚えるところ。
>> Why is this package always broken?
ほんとにねえ(^^;

それにしても何故こんなことに。後日ちょっと追いかけてみますか。

2008年11月13日木曜日

unbound @ Ubuntu /Debian

巷で噂の unbound を導入するために必要な作業を調べてみたので私的メモ。実際には試してないことばかりです。

Ubuntu

ubuntu 8.10 (intrepid)

universe リポジトリが使えることを確認して、

apt-get install unbound unbound-host
で入るかも? /bin/sh が dash の場合はバグを踏む可能性あり。
https://launchpad.net/ubuntu/+source/unbound/+bugs


ubuntu 8.04 LTS (hardy)

http://packages.ubuntu.com/ja/intrepid/unbound
日本unboundユーザ会では「これ持ってきてdpkgで入れる」とあるが、これは ubuntu 8.10 (intrepid)用でありバージョン違い。しかもこれ単品では unbound-host が入らない。
そのうえ、この unbound が依存している libldns1 もまた、intrepidにしかない。
http://packages.ubuntu.com/ja/intrepid/libldns1
http://packages.ubuntu.com/ja/intrepid/unbound-host
http://packages.ubuntu.com/ja/intrepid/libunbound0 (unbound-hostsが依存)
無理やりdpkgするのも方法だけど、libldns1を入れようとしたところでトラブルに陥る可能性がある(後述)。

これは両方のパッケージの backports
http://packages.ubuntu.com/ja/hardy-backports/net/
を待つのが ubuntu 的には正しいんじゃないかな?

腕に覚えがある人は、
http://packages.ubuntu.com/source/jaunty/unbound
最新のソースパッケージがこれなので、hardyにバックポートを試みてもいいかも。
ただしバグ情報に注意。

libldns1のソースパッケージは
http://packages.ubuntu.com/source/jaunty/ldns
なんだけど、実はこれhardyに既に含まれている。バイナリパッケージはこちら
http://packages.ubuntu.com/hardy/libldns-1.2.1
なので、intrepidのlibldns1をhardy上に無理やり入れるよりは、こちらに依存関係を書き換えてバックポートするか、libldnsもバージョンを更新する形でバックポートするのが自然、か? なんとなく libldns-1.2.1 が入っている状態で上の intrepid 用バイナリパッケージを無理やり dpkg したら解決しそうな気もする…


Debian

Debian GNU/Linux "lenny"/"sid" (testing/unstable)
apt-get install unbound unbound-host

で入る。現在 bind を入れていると使用portが被ってしまい導入できない問題がある模様。
http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=unbound
http://unbound.jp/forum/viewtopic.php?pid=10#p10

Debian GNU/Linux 4.0 "etch"

etch-backports にある。
http://packages.debian.org/ja/etch-backports/net/unbound
http://packages.debian.org/ja/etch-backports/net/unbound-host
http://packages.debian.org/ja/source/etch-backports/unbound (ソース)

http://debian.fam.cx/index.php?etch#content_1_62
を参考に /etc/apt/source.list を書き換え、etch-backports を使えるようにしてから

apt-get install unbound unbound-host
とすれば入りそう。ldnsも同様にバックポートされているため一緒に入る、かな。
bind使ってる時にportが被る問題はこちらでも起こる?

FreeBSDの話はもうまとまっていたのでユーザ会のサイトに投稿しました。

2008年10月23日木曜日

オープンソース関係のセミナー・講演会2点(岡山)


岡山県立大学で、オープンソース関係のセミナーや講演会が連続して行われますので、ちょっとご紹介。どちらも土曜、しかもキャラバンのほうは県大祭の企画として開催することとなりました。



(1) オープンセミナー@岡山
2008年10月25日(土) 10:00 - 17:30


http://os2008.okaya.ma/


オープンセミナーはオープンソースとインターネットをテーマにした無料セミナーです。このセミナーの企画と運営はオープンソースのユーザコミュニティのボランティアで行われています。香川県高松市、徳島県徳島市で開催された実績があります。首都圏ではこのようなオープンソースユーザコミュニティが主催するセミナーや勉強会は数多くありますが、地方ではまだまだ少ないのが現状です。すばらしい講師陣である事は講師名で検索して頂くと直ぐに分ります。コミュニティ主催のセミナーに参加が初めての方もお気軽にお越し下さい。




(2)セキュリティ&プログラミングキャンプキャラバン 2008 - 岡山 -
2008年11月1日(土) 10:00 - 16:30


http://www.jipdec.jp/camp/caravan/okayama.html


若年層の情報セキュリティおよびプログラミングについての興味を深めることと優れたセキュリティ&プログラミング人材の発掘と育成を目的として、今夏開催したセキュリティ&プログラミングキャンプの成果とその蓄積されたノウハウを広く一般の方々にも公開すること、これからキャンプに参加していただきたい若い方々に正しい情報セキュリティの理解と意識の向上を図ってもらうこと、また、OSSを中心としてプログラミングやアプリケーション開発について興味を持っていただくことを目的として、「セキュリティ&プログラミングキャンプ・キャラバン2008 -岡山-」を開催します。皆様のご参加をお待ちしております。



岡山近郊の方は是非お越し下さいませ。

2008年10月6日月曜日

Ubuntu 8.04 で mit-scheme が動かない

既に報告されているようなのですが……
https://bugs.launchpad.net/ubuntu/+source/mit-scheme/+bug/217792
Ubuntu 8.04 (Hardy) では mit-scheme が起動しないのです。起動しようとすると

% mit-scheme
Largest address does not fit in datum field of object.
Allocate less space or re-configure without HEAP_IN_LOW_MEMORY.
というエラーになります。原因はよく分かりません。これが解決しないと SICP の自学自習環境が……
代替パッケージでもあるんでしょうかねえ?

2008年7月18日金曜日

Ad[es]がWillcom対応サイトから微妙に外れる話

時々 Willcom Advanced W-Zero3[es] (WS011SH) が Willcom 対応をうたうケータイサイトから微妙に省かれてPCとして機種判別されてしまうんですが、HTTP_USER_AGENTWILLCOMDDIPOCKETの文字列が入ってないからっぽいですね。初代W-Zero3から延々と Windows CE 機扱いになっているようです。

OperaはcHTMLに対応しているはずなので、WILLCOM独自の、例えば位置情報取得サービスなどを使う予定がないということであれば、
.*SHARP/WS.*Opera.*
にマッチしてくるものもWillcomケータイ扱いにしてもらえるとありがたいなあ、などと思います。SHARP/WSだけでもいい気もしますが、IE Mobileがちょっと怪しいので念のため。将来的に別メーカーから何か出たら、ちょっと書き換える必要がありますね。
03とかD4はどうなってるんだろう…… 03はともかくD4は無理目?

ちなみにAd[es]のOperaで"デスクトップとして認識させる"を選ぶと、
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Opera 8.7 [ja]
になるので、PCとして使いたい人向けはこれで問題ないはず、です。

本当は、CHTMLとかキャリアに偏らず、Windows CEやiPhoneに対応した軽量サイトを作るのが有効なのかもしれません。とあるサイトのここ2ヶ月のUser-Agentを調べてみるとこんな感じ。

 % grep 'Windows CE;' sorted_agent_log
3 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; HTC/X01HT; PPC; 240x320)
4 MSNBOT_Mobile MSMOBOT Mozilla/2.0 (compatible; MSIE 4.02; Windows CE; Default)/1.1 (+http://search.msn.com/msnbot.htm)
16 Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)
35 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; SHARP/WS007SH; PPC; 480x640)
46 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7) S11HT
56 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; SHARP/WS007SH; PPC; 480x640) Opera 8.60 [ja]
153 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; SHARP/WS011SH; PPC; 480x800) Opera 8.7 [ja]
% grep 'iPhone;' sorted_agent_log
7 Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20
57 Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20
% grep 'iPod;' sorted_agent_log (おまけ)
1 Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419.3
1 Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3
17 Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419.3


iPhoneというかWebKitとWindows CE(Opera? IE Mobile? NetFront?)を一緒くたにするんじゃねえ! と怒られるかも知れませんが……

長々と書きましたが、とどのつまりは WassrにアクセスしたらPCサイトに飛ばされてしょんぼりした、ってだけの話でした。

参考:
WILLCOM|ウィルコムの電話機向けホームページの作成方法
http://www.willcom-inc.com/ja/service/contents_service/club_air_edge/for_phone/homepage/

それにしても……1年前に書かれるべきネタでしたねえ……

2008年7月4日金曜日

calc2latex

ここ数週間Excel&OOo Calcとにらめっこする日々を過ごしている私ですが、なんと世の中には
Calcの表をLaTeXのそれに変換してくれるすばらしいマクロがあるというじゃないですか。

http://calc2latex.sourceforge.net/indexj.html

これはすばらしい・・・早速使ってみよう。

2008年5月15日木曜日

パッケージなど検索ページとりまとめ

FreeBSD ports

公式 ports検索ページ
http://www.freebsd.org/ports/
freshports
http://www.freshports.org/search.php

Debian

Debian パッケージ
http://www.debian.org/distrib/packages
Unofficial APT repositories
http://www1.apt-get.org/search.php

Ubuntu

Ubuntu packages
http://packages.ubuntu.com/

だいたい公式で事足りてしまうので、まとめというほどもなく。キーワードを1つ入れれば上のサイトを横断的に検索できるようにする方法はないものか……

2008年5月9日金曜日

pTeXパッケージ関係のメモ(2008年5月)

FreeBSD, Debian, Ubuntu について日本語TeX環境(ptex)パッケージの状況を整理しておくメモ。自分で適当に調べたものなので、事実誤認や調べ不足があったらごめんなさい。
予備知識はTeXディストリビューションあたりを見ていただくとして。
FreeBSD ports:
ptex(japanese/ptex)を入れておけばOK。teTeX(print/teTeX-base)に依存。
tgifなどlocaleにja_JP.eucJPを要求するものがあるので locale も ja_JP.eucJP でいい気がする?
FreeBSDのドキュメントプロジェクト用メタポート (textproj/docproj) で jadetex (print/jadetex) を用いる場合、これも teTeXを参照する。jadatexにも日本語対応版 (japanese/jadetex-ptex)がある。

とにかく TeX関係の ports が teTeX ベースになっているため、(p)texlive を手で入れると、portsからTeXまわりに依存しているものを入れようとしたとき不都合が起こる場合がある。
(例:http://d.hatena.ne.jp/isano/20080404/1207240012
teTeX→texlive関係の議論はportsのMLで話し合われているようだ。
http://groups.google.com/group/mailing.freebsd.ports/browse_thread/thread/5f8d90bcfc0f3822/

ports 側が texlive の移行に踏み切らないと、ptexliveの動作検証は進めづらいのかもしれない。

Debian stable(etch):
Debian系列はtetexからtexliveに移行している。etchは古いためtetexが残っているようだ。
ptex-base は tetex-basetexlive-base のどちらかに依存しているが、とりあえずptex-baseを入れて、あとは任せてしまうのがいい、かも?
http://packages.debian.org/ja/etch/tex/ptex-base
localeがja_JP.UTF-8で、ptexがtexliveに依存していても、texファイルの文字コードはptex(platex)を使う限り EUC などが期待される?
参考:http://d.hatena.ne.jp/n314/20080419/1208582479

Debian testing(lenny):

ptex-baseが基本であることに変わりははない。tetex-baseがtransitionalになっており、事実上 texlive-base への移行を完了しているようだ。

Ubuntu 8.04 LTS(hardy):
Debian testing(2008/5)と同じく ptex-base が基本。こちらもtexlive-baseに依存している。
日本語での作業環境を整えるため、メタパッケージの開発が進んでいる模様。

ptexメインで使うことを想定している限りtexファイルの文字コードはlocaleに関わらずEUCなどで安定ということか。(-kanji=euc|jis|sjis を使うってことで)

texファイルもUTF-8で書きたいという場合、処理方法が2種類あるようです。

ptexlive/ptetex3を使う。
UTF-8で書いたtexファイルをEUC?などに変換して処理するタイプ。日本語 ASCII pTeX をベースに tetex/texlive の一部としてptexを使うのが目標。日本語特化と見なして差し支えなし? ディストロに対するパッケージ化の進捗はあまりよろしくない、ようなので難易度は高め。動作報告を募集中みたいですよ。
本家:http://tutimura.ath.cx/ptexlive/
Debianパッケージ:http://www1.pm.tokushima-u.ac.jp/~kohda/tex/ptexlive.html

xetexなどを使う。
UTF-8の多言語文章として処理することになる。使ったことがないので分からないが、このような処理系があるようだ。 xetex自体はMacOS X用に開発されたそうだが、texlive-xetexという名前でDebian/Ubuntuにパッケージがある。texソースとしてUTF-8文章が混在するときには候補にしてもいいのかも。ただ日本語処理部分がまだ弱い? dvi関係の周辺ツールの対応状況は確認する必要あり?(ptex環境で使っていたものとは違う?)


余談:TeXの周辺アプリケーションを一括導入するパッケージの話と、TeXの処理系の話がごっちゃになっていて分かりづらい。これをすっきり理解することが『TeX利用のレディネス』のひとつなのか。敷居が高いよなあ……

おまけ:いずれはまること間違いなしの PDF絡みの話。あと学会関連のスタイルファイル。

2008年4月22日火曜日

gnome2、いつ、どれを入れたらいいのやら

普段はfvwmがあれば生きていける暮らしを営んでいるわけですが、今回は珍しくgnome2など入れてみようと思い立ちました。しかしmeta-portが結構あるのでまいってしまったわけで。さすがデスクトップ環境。ウィンドウマネジャーだけじゃ収まらない世界ですねえ。

x11/gnome2x11/gnome2-liteはどれくらい違うか? 分からないときはとりあえずdiffとって眺めてみると……


% diff -u x11/gnome2-lite/Makefile x11/gnome2/Makefile
--- x11/gnome2-lite/Makefile 2007-10-25 08:36:58.000000000 +0900
+++ x11/gnome2/Makefile 2008-04-12 19:08:57.000000000 +0900
@@ -1,43 +1,112 @@
-# New ports collection makefile for: gnome2-lite
-# Date created: 30 November 2003
+# New ports collection makefile for: gnome2
+# Date created: 21 May 2002
(中略)
-RUN_DEPENDS= ${LOCALBASE}/libexec/gweather-applet-2:${PORTSDIR}/x11/gnome-applets \
+RUN_DEPENDS?= ${LOCALBASE}/libexec/gweather-applet-2:${PORTSDIR}/x11/gnome-applets \
gnome-cd:${PORTSDIR}/audio/gnome-media \
gnome-dictionary:${PORTSDIR}/deskutils/gnome-utils \
eog:${PORTSDIR}/graphics/eog \
+ gconf-editor:${PORTSDIR}/sysutils/gconf-editor \
+ gnect:${PORTSDIR}/games/gnome-games \
gedit:${PORTSDIR}/editors/gedit \
gnome-terminal:${PORTSDIR}/x11/gnome-terminal \
gnome-session:${PORTSDIR}/x11/gnome-session \
+ bug-buddy:${PORTSDIR}/devel/bug-buddy \
gnome-system-monitor:${PORTSDIR}/sysutils/gnome-system-monitor \
nautilus:${PORTSDIR}/x11-fm/nautilus \
+ ${LOCALBASE}/sbin/gdm:${PORTSDIR}/x11/gdm \
${LOCALBASE}/share/gnome/help/user-guide/C/user-guide.xml:${PORTSDIR}/misc/gnome-user-docs \
${LOCALBASE}/share/sounds/question.wav:${PORTSDIR}/audio/gnome-audio \
+ ${LOCALBASE}/libdata/pkgconfig/libgail-gnome.pc:${PORTSDIR}/x11-toolkits/libgail-gnome \
file-roller:${PORTSDIR}/archivers/file-roller \
${LOCALBASE}/share/themes/HighContrast/gtk-2.0/gtkrc:${PORTSDIR}/x11-themes/gnome-themes \
- evince:${PORTSDIR}/graphics/evince \
+ gok:${PORTSDIR}/accessibility/gok \
+ nautilus-cd-burner:${PORTSDIR}/sysutils/nautilus-cd-burner \
gcalctool:${PORTSDIR}/math/gcalctool \
gucharmap:${PORTSDIR}/deskutils/gucharmap \
+ zenity:${PORTSDIR}/x11/zenity \
${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf:${PORTSDIR}/x11-fonts/bitstream-vera \
- gconf-editor:${PORTSDIR}/sysutils/gconf-editor \
+ ${LOCALBASE}/libexec/gnome-netstatus-applet:${PORTSDIR}/net/gnome-netstatus \
+ dasher:${PORTSDIR}/accessibility/dasher \
+ evolution:${PORTSDIR}/mail/evolution \
+ ${LOCALBASE}/libexec/evolution-webcal:${PORTSDIR}/www/evolution-webcal \
+ network-admin:${PORTSDIR}/sysutils/gnome-system-tools \
+ gnome-nettool:${PORTSDIR}/net/gnome-nettool \
+ vino-session:${PORTSDIR}/net/vino \
+ exchange-connector-setup-2.22:${PORTSDIR}/mail/evolution-exchange \
+ ${LOCALBASE}/lib/gstreamer-0.10/.gstreamer-plugins-core.keep:${PORTSDIR}/multimedia/gstreamer-plugins-core \
+ ${LOCALBASE}/lib/gstreamer-0.10/libgstgconfelements.so:${PORTSDIR}/devel/gstreamer-plugins-gconf \
+ totem:${PORTSDIR}/multimedia/totem \
gnome-control-center:${PORTSDIR}/sysutils/gnome-control-center \
- gnome-mount:${PORTSDIR}/sysutils/gnome-mount \
- totem:${PORTSDIR}/multimedia/totem
-
-MASTERDIR= ${.CURDIR}/../gnome2
-CONFLICTS= gnome2-[0-9]*
-
-DESCR= ${.CURDIR}/pkg-descr
-PKGMESSAGE= ${.CURDIR}/pkg-message
+ ${LOCALBASE}/share/gnome-background-properties/gnome-branded.xml:${PORTSDIR}/x11-themes/gnome-backgrounds \
+ sound-juicer:${PORTSDIR}/audio/sound-juicer \
+ ${LOCALBASE}/libdata/pkgconfig/libgtkhtml-2.0.pc:${PORTSDIR}/www/libgtkhtml \
+ evince:${PORTSDIR}/graphics/evince \
+ ${LOCALBASE}/libexec/fast-user-switch-applet:${PORTSDIR}/x11/fast-user-switch-applet \
+ ${LOCALBASE}/lib/deskbar-applet/deskbar-applet:${PORTSDIR}/deskutils/deskbar-applet \
+ alacarte:${PORTSDIR}/deskutils/alacarte \
+ gnome-power-manager:${PORTSDIR}/sysutils/gnome-power-manager \
+ ${LOCALBASE}/libexec/gnome-volume-manager:${PORTSDIR}/sysutils/gnome-volume-manager \
+ orca:${PORTSDIR}/accessibility/orca \
+ gnome-mount:${PORTSDIR}/sysutils/gnome-mount \
+ ${LOCALBASE}/libexec/notification-daemon:${PORTSDIR}/deskutils/notification-daemon \
+ seahorse:${PORTSDIR}/security/seahorse \
+ swfdec-player:${PORTSDIR}/multimedia/swfdec-gnome \
+ mousetweaks:${PORTSDIR}/accessibility/mousetweaks \
+ vinagre:${PORTSDIR}/net/vinagre \
+ cheese:${PORTSDIR}/multimedia/cheese \
+ ${LOCALBASE}/share/hal/fdi/information/10freedesktop/10-camera-ptp.fdi:${PORTSDIR}/sysutils/hal-info
(中略)
+.if !defined(GNOME_SLAVE)
+.if (${ARCH}!="sparc64" ${OSVERSION} >= 601101) && ${ARCH}!="ia64"
+RUN_DEPENDS+= yelp:${PORTSDIR}/x11/yelp \
+ epiphany:${PORTSDIR}/www/epiphany
+.endif
+.if ${.CURDIR:T}!="gnome2-lite"
+.if ${ARCH} == "i386"
+RUN_DEPENDS+= tomboy:${PORTSDIR}/deskutils/tomboy
+.endif
+.if ${OSVERSION}>=600000
+RUN_DEPENDS+= ekiga:${PORTSDIR}/net/ekiga
+.endif
+.endif
+.endif

これはなんだろう、gnome2のほうが、マシンを面前にしてgdmからログインし、デスクトップ環境として使う場合で、gnome2-liteはコンソールログインしてstartxするとか、vncあたりから使う、ウィンドウマネージャーという位置づけでしょうかね。gstreamer、電源関係、CDバーナーなどが無いあたりからの想像です。きっと探せばports作ってる人の主張がどこかにあるのでしょう。


他にもいくつかのツールが別のメタポートに纏められている様子。

http://www.freebsd.org/gnome/docs/faq2.html#q4  より引用

* The GNOME Fifth Toe (x11/gnome2-fifth-toe) consists of stable GNOME applications that many users expect to find in a functional desktop environment. This includes image manipulation applications, chat and instant messenger applications, and music and multimedia players

* The GNOME Hacker Tools (devel/gnome2-hacker-tools) consists of applications developers would need to create and maintain GNOME software projects. This includes IDEs, interface builders, "hacker" editors, and code generation tools.

* The GNOME Office (editors/gnome2-office) consists of applications that are commonly found in office or productivity suites. This includes a spreadsheet application, word processor, project management application, database access application, groupware suite, and diagramming application.


* The GNOME Power Tools (x11/gnome2-power-tools) consists of utilities and applets for the technically-minded GNOME user. It also contains many useful add-on utilities for some of the applications found in the Desktop and Fifth Toe.

どれで何が入るかはMakefileをのぞいていただくとして。このようにいろいろなアプリがあるようなのですが、とりあえず今回はベタにliteを……

と思ってよく見たらx11/gnome2は2.22.1なのに x11/gnome2-lite は 2.20.1 のままだった……念のため、しばらく延期ということにします。orz

2008年4月9日水曜日

DG965SS+C2D E6300なPCにて

年度末~年度初めはPCに時間をかけられませんで、記事もすっかり停滞しておりました。

新年度となり、研究室の学生用PCに Debian をインストールしているのですが、G965なchipsetを持つ上記マザーに etch をインストールすると何故かXが起動してこない。
学生にトラブルシューティングを任せる前に lenny の導入を試みてみると、Xは起動してくるが autofs が パッケージに見あたらなくて使えない、というなんだか厄介な状況に。

何故 autofsが無い? そんなときには個別のパッケージ情報を見ましょうか。
http://www.debian.org/distrib/packages#search_packages
ここから全てを対象にして autofs を検索すると、
http://packages.debian.org/search?keywords=autofs&searchon=names&suite=all§ion=all
sidにはあるのに lenny(testing) にないということが分かる。でも何故?
とりあえず、etchにあるものをクリックすると、
http://packages.debian.org/etch/autofs
autofsに関するリンク、Debianの資源などから、開発者情報をクリックしてみると……
http://packages.qa.debian.org/a/autofs.html
状況が大変わかりやすい。素晴らしいなあ。
どうもtestingからはバグ絡みで削除されている模様。なんてこったい。

問題を解決してソースからコンパイルして自前パッケージとして導入するか、時間を置いて誰かが直してくれるのを待つか……ここでさらにUbuntu 7.10 を取り出してみるのでありました。

続く?

2008年2月27日水曜日

トラブル:メモリを4GB搭載したPCでnvidia-driverを用いるとhang upする(169.12/7.0-RELEASE)

更新:7.0-RELEASE/nvidiaのドライバが169.12になったのでそれに合わせました。

以下の構成で組んだPCにおいて、 nvidiaのドライバを用いるようにして
startx を実行するとhang-upします

(ドライバをportsからinstallしたい場合、 ports/x11/nvidia-driver において
Makefileの中にある 169.07 を 169.12 と書き換え、distfilesを削除するだけでOKです。)

OS: FreeBSD 7.0-RELEASE (i386)
MB: GIGABYTE GA-P35-DS4(Rev.2.0, BIOS F11)
CPU: Intel Core2Duo E8200
Memory: DDR2 SDRAM 1GB * 4 (4GB)
GA: GeForce 8500 GT

ACPIを切ってみてもダメでした。

ところが、ここからメモリを1枚抜いて 3GB とすると、うまく起動しました。
しかしこれではデュアルチャネルじゃなくなるわけで。
512MBを2枚買って代用すればいいんですが、それもなんだか負けた感がしますし。
さてこれ以上何が出来るやら……?

関連情報(?):
メモリを4GB以上認識させる 3
http://pc11.2ch.net/test/read.cgi/jisaku/1198949005/17-18
FreeBSD/amd64 part2 (and for oyster901)←amd64の事情なので今回とはあまり関係なし
http://pc11.2ch.net/test/read.cgi/unix/1171335849/212-216

2008年2月7日木曜日

Adobe Reader 8.1.2 (JP) Linux版はフォント不足が解消されているっぽい。

Adobe Reader 8.1.2が出ました。まだインストールしていないのですが、
Linux版のアーカイブ(.tar.gz)を見る限りでは、今回はちゃんと KozGoProVI-Medium.otf が付属しているようです。
( Linux版では 8.1.1(JP)のときに不足していて、ゴシック文字が表示できないなどちょっとトラブルがあった。 )
ゴシック体フォントが無いと途方に暮れていた or 7.x 系から再利用していた皆さんは要チェック。

% tar -tf AdobeReader811/COMMON.TAR | grep CIDFont
Adobe/Reader8/Resource/CIDFont/
Adobe/Reader8/Resource/CIDFont/KozMinProVI-Regular.otf
% tar -tf AdobeReader812/COMMON.TAR | grep CIDFont
Adobe/Reader8/Resource/CIDFont/
Adobe/Reader8/Resource/CIDFont/KozMinProVI-Regular.otf
Adobe/Reader8/Resource/CIDFont/KozGoProVI-Medium.otf

2008年2月5日火曜日

トラブル:nvidia-driverを用いてXを起動しようとするとhang upする

作業しながら記事を書いたので、問題とやったことがごっちゃになってしまった……
問題点だけ別記。

以下の構成で組んだPCにおいて、 startx を実行するとhang-upします。
デバッグ機能付きででコンパイルしたkernelで実行しても、
hang-upした後 kdbに移ることが出来ないため dumpすら取れません。

OS: FreeBSD 7.0-RC1
MB: GIGABYTE GA-P35-DS4(Rev.2.0, BIOS F11)
CPU: Intel Core2Duo E8200
Memory: 1GB DDR2 x 4本 (4GB)→OSが512MBほど無視
GA: GeForce 8500 GT

nvidia-driver についていたログ採取ツールで取得したシステムログ↓
http://www1.odn.ne.jp/taraijpn/nvidia-bug-report-bsd7.log

類似の問題が報告されている掲示板やMLなど:
http://www.nvnews.net/vbulletin/showthread.php?t=104873

http://lists.freebsd.org/pipermail/freebsd-current/2007-September/076965.html


使用したnvidia-driverについては、portsのもの(100.xx.yy)はダメ。
最新のもの(169.07)にしてもダメ。
portsパッチ↓
http://www1.odn.ne.jp/taraijpn/x11_nvidia-driver_20080205.diff.txt
(7.0-CURRENTまで非対応のものを、7.0-RC1でコンパイルできるようにしたものです。利用する場合は十分注意して下さい。

kern.smp.activeを0にしてもhang upします。SMPか否かは関係なしということ?
trussなどをかけてもOSごと止まってしまうためファイルが消失する。
(外部USBメモリをsyncでマウントし、そこに書き込ませようとしてもダメ)
いい方法はないものか……

2008年2月2日土曜日

募集: x11/nvidia-driver update patch (169.07) を作ってみた。

とりあえず寝ても覚めてもstartx→フリーズ、に変化がないので、
これはきっとドライバが悪いんだそうに違いない、
などと勝手に思いこんだ挙げ句 ports を更新してみました。
http://www1.odn.ne.jp/taraijpn/x11_nvidia-driver_20080202.diff.txt
http://www1.odn.ne.jp/taraijpn/x11_nvidia-driver-100xx_20080202.diff.txt
100xx のほうも残してあります。が、あまり意味はないような…
(100xx→169xxになってサポートされなくなるボードは1枚だけ。(おそらく96xxがカバーしている))


# cd /usr/ports
# patch -p < x11_nvidia-driver_20080202.diff.txt
# patch -p < x11_nvidia-driver-100xx_20080202.diff.txt


ただし、オフィシャルとしては FreeBSD 7.0-CURRENTには対応していない、
ということになっているそうなので、Makefileでバージョンチェックを行っています。
それとおぼしき部分をコメントアウトしていただきますと、
FreeBSD 7.0-RC1(PRERELEASE)以降 (__FreeBSD_version >= 700055) で
コンパイル出来るようになります。人柱絶賛募集中。
但しkernelがcoreすら吐かないという大変危険なフリーズの仕方をしますので、OS再インストール上等、ハードウェアに損害が出ても構わない、くらいの環境でお試し下さい。
(http://www.freebsd.org/where.html#helptestから 7.0-RC1のdisc1あたりをもってきておくと早いかも?)

参考:NVIDIA FreeBSD nv news forum
全く同じ症状の人(ボードまで同じだ!)を発見してしまいましたよ。これかーこれなのかー??

FreeBSD versionチェック(私的メモ)

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/conf/newvers.sh
バージョン名が設定されているところ
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/param.h
__FreeBSD_version が設定されているところ
http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html
__FreeBSD_version に対応する変更点リスト

試行錯誤の順番について

おかしいと思ったときの試行錯誤の順番が違う気がしてきました。
まとめておきましょう。

■portsからインストール~実行したものでトラブルに見舞われたら
(1) /usr/ports/UPDATING を調べる。
(2) send-prで報告されてないか調べる。↓おすすめ
http://portsmon.freebsd.org/portsprsbyportname.py
(3) ドキュメントを調べる。
→ /usr/local/share/doc の下にないか?
→ work/ 以下に展開された元アーカイブの下にないか?
(4) WWWで検索する
→日本語の場合はFreeBSD 4以下の情報をつかまないように注意。
→調べ先をもう少し整理したいなあ。
→→オリジナルソースの開発コミュニティがあれば見てみる。
→→ユーザフォーラムの情報も調べてみる。

というわけで、読むべきものを忘れていましたね。


% less /usr/ports/UPDATING
...
20070913:
AFFECTS: users of x11/xorg, x11/nvidia-driver
AUTHOR: flz@FreeBSD.org

X.org ports were updated to 7.3. Since we're now using the modular
build, the upgrade is pretty much painless. If you're using the
x11/xorg meta-port, upgrade should be as easy as:

# portupgrade -R xorg

Users of nvidia-driver will have to make sure Composite extension is
turned off and start Xorg with the following command:

$ startx -- -ignoreABI

The -ignoreABI option is a Xorg option. If you're using gdm, kdm or
xdm, you will have to modify your configuration file so that Xorg
starts with this option.

An updated nvidia-driver should be released soon.


これですか? これなんですか??
試してみた。フリーズ。違ったようだ。寝てしまおう。

Xorg.0.logに残っていたもの、そして……

お預けにしたとはいえ、それにしても一体何があったのでしょうか。
Xorg.0.log に何か残っているかもしれません。


■(略)
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Enabling RENDER acceleration
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! Please ensure
(EE) NVIDIA(0): that there is a supported NVIDIA GPU in this system, and
(EE) NVIDIA(0): that the NVIDIA device files have been created properly.
(EE) NVIDIA(0): Please consult the NVIDIA README for details.
(EE) NVIDIA(0): *** Aborting ***
(II) UnloadModule: "nvidia"
(II) UnloadModule: "xaa"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found


どうもカーネルモジュールがよろしくないらしい。
portsでコンパイルしたときは特にWarningもなく通ってたんですけどねえ。
付属のドキュメントを見てみると……?


# less /usr/ports/x11/nvidia-driverwork/NVIDIA-FreeBSD-x86-100.14.19/doc/README
...
E1. NVIDIA GEFORCE GPUS
...
GeForce 8500 GT 0x0421

ボードはあるよなあ…

______________________________________________________________________________

Appendix A. Minimum Software Requirements
______________________________________________________________________________

The official minimum software requirements for the NVIDIA FreeBSD Graphics
Driver are as follows:

Software Element Min Requirement
---------------------------------- ----------------------------------
Kernel FreeBSD 5-STABLE (5.3 or later)
XFree86/X.Org 4.2/6.7.0

Additionally, the kernel source tree must be installed in /usr/src/sys
(package 'ssys' installed)

Note that FreeBSD -STABLE versions older than FreeBSD 5.3 and FreeBSD 6.x/7.x
-CURRENT development snapshots are not supported.


えー(==;


______________________________________________________________________________

Chapter 6. Common Problems
______________________________________________________________________________

This section provides solutions to common problems associated with the NVIDIA
FreeBSD x86 Driver.

...

Q. My X server fails to start, and my X log file contains the error:

(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!

A. Nothing will work if the NVIDIA kernel module does not function properly.
If you see anything in the X log file like

(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!

then there is most likely a problem with the NVIDIA kernel module.

The NVIDIA kernel module may print error messages indicating a problem --
to view these messages check the output of `dmesg`, '/var/log/messages', or
wherever syslog is directed to place kernel messages. These messages are
prepended with "NVRM".


お、まさにログ通りのテキスト発見! fails で戻ってこないからもっと深刻だけど…
/var/log/messages を見よ?


Feb 2 00:08:39 basil kernel: nvidia0: port 0xa000-0xa07f mem 0xf6000000-0xf6ffffff,0xe0000000-0xefffffff,0xf4000000-0x
f5ffffff irq 16 at device 0.0 on pci1
Feb 2 00:08:39 basil kernel: nvidia0: [GIANT-LOCKED]
Feb 2 00:08:39 basil kernel: nvidia0: [ITHREAD]


カーネルモジュールが読まれている時はこれが出ているのでボードは認識しているようだけれど、停止時の記録は見あたりません。強制リブートしたあたりを見ても特になく。何故だー!?

ここで選択肢を出しておいて寝ることにしましょう。
(1)続ける
   →100.xxのまま → Webをもっとちゃんと探す
   →169.xxをもってきてportsに頼らずやってみる
(2)諦める(どうせvncで使うんだし)

df で見ると used が マイナス になる!?

強制再起動した後 fsck_ufs が回っているのですが……


%df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ar0s1a 2026030 171126 1692822 9% /
devfs 1 1 0 100% /dev
/dev/ar0s1h 97241478 4 89462156 0% /export
/dev/ar0s1g 203114302 -25494 186890652 -0% /home
/dev/ar0s1e 4058062 33662 3699756 1% /tmp
/dev/ar0s1f 152337186 9695586 130454626 7% /usr
/dev/ar0s1d 4058062 62910 3670508 2% /var

まいなす!?


%df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ar0s1a 2026030 171126 1692822 9% /
devfs 1 1 0 100% /dev
/dev/ar0s1h 97241478 4 89462156 0% /export
/dev/ar0s1g 203114302 -25494 186890652 -0% /home
/dev/ar0s1e 4058062 33662 3699756 1% /tmp
/dev/ar0s1f 152337186 9695586 130454626 7% /usr
/dev/ar0s1d 4058062 62910 3670508 2% /var
%df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ar0s1a 2026030 171126 1692822 9% /
devfs 1 1 0 100% /dev
/dev/ar0s1h 97241478 4 89462156 0% /export
/dev/ar0s1g 203114302 -26102 186891260 -0% /home
/dev/ar0s1e 4058062 33662 3699756 1% /tmp
/dev/ar0s1f 152337186 9695586 130454626 7% /usr
/dev/ar0s1d 4058062 62910 3670508 2% /var

淡々と増えてます……

そして十数分後、fsck_ufsも無事終わり、どうやらダメージは無かった様子。
よかったよかった…


%df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ar0s1a 2026030 171126 1692822 9% /
devfs 1 1 0 100% /dev
/dev/ar0s1h 97241478 4 89462156 0% /export
/dev/ar0s1g 203114302 6106 186859052 0% /home
/dev/ar0s1e 4058062 33662 3699756 1% /tmp
/dev/ar0s1f 152337186 9605298 130544914 7% /usr
/dev/ar0s1d 4058062 62912 3670506 2% /var


dfも元通り。一体何だったんだろう……

とりあえずnvidiaドライバはちょっとお預けということで、特にトラブルなく表示された nv ドライバで様子を見ることにします。カーネルモジュールは怖いですね。

2008年2月1日金曜日

nvidia-xconfigを入れてみる。

x11/xorg の make installが終わったので、とりあえず /etc/X11/ とか /usr/local/etc/X11/ を見てみたものの、.confファイルは無し。グラフィックボードのドライバを入れてから考えることにします。GeForce 8500GTなので
x11/nvidia-driver を入れてみました。100.14.19相当のようです。Version 169.07が出ている のですが、Update requestがsend-prされているのでそのうち新しくなるでしょう。

% cat /boot/loader.conf
nvidia_load="YES"
% kldstat
Id Refs Address Size Name
1 10 0xc0400000 93ba74 kernel
2 1 0xc0d3c000 693b3c nvidia.ko
3 2 0xc13d0000 27828 linux.ko
4 1 0xc13f8000 671f4 acpi.ko



ところが、なぜか同梱されているはずの nvidia-xconfig や nvidia-settings が入ってきません。work を見ると…


# pwd
/usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-100.14.19/obj
# ls
libGL.so.1 libXvMCNVIDIA.so.1 libnvidia-tls.so.1 nvidia-bug-report.sh nvidia_drv.so
libGLcore.so.1 libglx.so.1 libnvidia-wfb.so.1 nvidia-settings
libXvMCNVIDIA.a libnvidia-cfg.so.1 linux nvidia-xconfig
# ldd nvidia-xconfig
nvidia-xconfig:
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2809e000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x280b9000)
# ldd nvidia-settings
nvidia-settings:
libgtk-x11-2.0.so.400 => not found (0x0)
libgdk-x11-2.0.so.400 => not found (0x0)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x28115000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x2811b000)
libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x28123000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x28126000)
libatk-1.0.so.600 => not found (0x0)
libgdk_pixbuf-2.0.so.400 => not found (0x0)
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2812f000)
libpangoxft-1.0.so.399 => not found (0x0)
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x2814a000)
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2815b000)
libz.so.2 => /usr/local/lib/compat/libz.so.2 (0x281c7000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x281d7000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x281df000)
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x281ec000)
libpangox-1.0.so.399 => not found (0x0)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x28215000)
libpango-1.0.so.399 => not found (0x0)
libgobject-2.0.so.400 => not found (0x0)
libgmodule-2.0.so.400 => not found (0x0)
libglib-2.0.so.400 => not found (0x0)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x282fd000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x283f3000)
libc.so.7 => /lib/libc.so.7 (0x284cd000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x285c4000)
libz.so.4 => /lib/libz.so.4 (0x285d2000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x285e4000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x285e7000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x28606000)
librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 (0x2860b000)

… compat なものとか not foundっぽいものがある… ドキュメントを読むと FreeBSD 5.3相当の環境でコンパイルしたものが入っているようです。nvidia-xconfigはそのまま使えそうですが、せっかくなので x11/nvidia-xconfig を使ってみましょう。nvidia-settingsはなんだかドツボっぽそうなので回避。


# make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size unknown
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size of remote file is not known
nvidia-xconfig-1.0.tar.gz 107 kB 77 kBps
===> Extracting for nvidia-xconfig-1.0_2
=> MD5 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
=> SHA256 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
===> Refetch for 1 more times files: nvidia-xconfig-1.0.tar.gz nvidia-xconfig-1.0.tar.gz
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
=> Attempting to fetch from http://us.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://us.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/.
fetch: ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.


えー。
どうも 配布されているファイルと distinfo の情報にずれがあるようです。
(httpなら持ってくる前にチェックできるけどftpは持ってきてからチェックするんですね)

とりあえず distinfo を消し、distfiles にある nvidia-xconfig-1.0.tar.gz を念のため消してから再トライ。


# mv distinfo distinfo.old
# /usr/ports/distfiles/nvidia-xconfig-1.0.tar.gz
make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
nvidia-xconfig-1.0.tar.gz 100% of 107 kB 18 MBps
===> Extracting for nvidia-xconfig-1.0_2
=> No checksum file (/usr/ports/x11/nvidia-xconfig/distinfo).
===> Patching for nvidia-xconfig-1.0_2
===> Applying FreeBSD patches for nvidia-xconfig-1.0_2
===> nvidia-xconfig-1.0_2 depends on executable: gmake - found
===> Configuring for nvidia-xconfig-1.0_2
===> Building for nvidia-xconfig-1.0_2
cc -c -O2 -pipe -march=prescott -I XF86Config-parser util.c -o util.o
■(中略)
cc -O2 -pipe -march=prescott -I XF86Config-parser gen-manpage-opts.o -lm -o gen-manpage-opts
./gen-manpage-opts > options.1.inc
m4 -D__HEADER__=".\\\" WARNING: THIS FILE IS AUTO-GENERATED! Edit nvidia-xconfig.1.m4 instead." nvidia-xconfig.1.m4 > nvidia-xconfig.1
#

オリジナルファイルもちゃんとマスターサイト(と思わしきところ)から持ってきているようなので、これでよしとしましょう。
インストールして実行。


basil# nvidia-xconfig

WARNING: Unable to locate/open X configuration file.

ps: Process environment requires procfs(5)
New X configuration file written to '/etc/X11/xorg.conf'



何故procfsが要求されるのか…なにか見たいのか?
まあいいや。とりあえずユーザに戻してstartxしてみましょう。


% startx


真っ暗。

あれ?

数分経過。

戻ってこない…何故…?
別PCから接続していたsshのコネクションも Operation timed out。
電源ボタンを押してみても無反応…
泣く泣く強制シャットダウン→再起動→絶賛fsck_ufs中

なーーーーーぜーーーーーだーーーーー??
(続く。)

2008年1月31日木曜日

portsでmakeする時-jをつけてハマる。

Core2DuoベースのPCを1台組んだので、まっさらな状態からFreeBSD 7.0ベースの環境を構築。CDがBETA3のものしかなかったので、src込みでインストール、OS部分だけとりあえずRELENG_7_0を追従したものをbuildworld。

その過程で、ふと-jオプションなんてのを思い出したので、折角だから使ってみたのですが早い早い。うとうとしていたら完成してました。(今度時間を計ってみます。)

で、portsで同じように並走させたら早いかな? と思って試してみたのですが……


# cd /usr/ports/devel/make
# make -j 4
===> Vulnerability check disabled, database not found
=> make-3.81.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://ftp.gnu.org/gnu/make/.
make-3.81.tar.bz2 1124 kB 27 MBps
===> Extracting for gmake-3.81_2
=> MD5 Checksum OK for make-3.81.tar.bz2.
=> SHA256 Checksum OK for make-3.81.tar.bz2.
===> Patching for gmake-3.81_2
===> Applying FreeBSD patches for gmake-3.81_2
===> gmake-3.81_2 depends on shared library: intl - not found
===> Verifying install for intl in /usr/ports/devel/gettext
cd: can't cd to /usr/ports/devel/gettext/work/gettext-0.16.1
*** Error code 2
install: /usr/ports/devel/gettext/work/gettext-0.16.1/gettext-tools/misc/po-compat.el: No such file or directory
*** Error code 71
2 errors
*** Error code 2
1 error
#


あれ? 依存関係があるはずのgettextの作成を飛ばした? 慌ててやりなおし。


# make clean
===> Cleaning for gmake-3.81_2
# make
===> Vulnerability check disabled, database not found
===> Extracting for gmake-3.81_2
=> MD5 Checksum OK for make-3.81.tar.bz2.
=> SHA256 Checksum OK for make-3.81.tar.bz2.
===> Patching for gmake-3.81_2
===> Applying FreeBSD patches for gmake-3.81_2
===> gmake-3.81_2 depends on shared library: intl - not found
===> Verifying install for intl in /usr/ports/devel/gettext
===> Vulnerability check disabled, database not found
=> gettext-0.16.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://ftp.gnu.org/gnu/gettext/.
gettext-0.16.1.tar.gz 0% of 8339 kB 0 Bps
...


順調順調。

もう今時は portsupgrade 等を使うのが一般的でしょうし、あまりハマることはないと思うのですが、ちょっとびっくりしたのでメモ。

2008年1月29日火曜日

なぜに夜? なぜに二人?

近所のスーパーに夜食を買いに出たのですが、駐車場で見知らぬ女性2人から、『肩がこっていませんか』『困ったことはありませんか』と声をかけられました。「仕事が残ってて困ってます」などと一旦その場を離れたんですが、バイクをとってその場に戻ってみたらば、なにやら別の人を捕まえておまじない? をしている風。

捕まっていたのが若い人っぽかったので、念のためその人が解放されるまでその場にいて、ちょっと話を聞いてみると、なんでも体調をよくするまじないの練習中だとかで、誰かに試して上達したいのだとか。なんというかこう突っ込みどころ満載だったので放置しようかとも考えたのですが・・・・・・

これ、注意そらし&強奪の手口と思われても仕方ない行為だと思います。一人のときにこの手の人から話しかけられたら逃げたほうがいいよなあ・・・・・・と思いました。

無害な話だったら申し訳ないんだけど、でもそれならもっと明るいうち、人目の多いところでやってほしいなあ、と思いました。試されてるほうが不安になるようなやり方はよくないです。

と、珍しく普通の日記っぽいことを書いてみるのでありました。

2ch有志かと思ったら一人だけだったみたいです。

しばらく本業などでバタバタしていて、さっき見つけたのですが……http://www13.atwiki.jp/freebsd_manual/


つづくと書いたのはいいのだが、さほど続かなかったのが現実だ。
これが現実、ネラーはつぶやいた。
さて、そろそろ終わりにしよう。そう思った、

END


終わってました。
というか始まってもいねーだろ。


というオチがついたところで本日はこのへんで。

2008年1月18日金曜日

2ch有志が翻訳をしようと企んでいるようです。

ドキュメント翻訳用のwikiを作った人がいるようです。
http://www13.atwiki.jp/freebsd_manual/
ま、manualって書いてあるぞ……? 
それはさておき、ちょっと見てみると、どかっとリストだけ貼られてる状況。こ、これは滅入る……
wikiだけあってもしょうがないので、とりあえず3つ、提案してみます。
『目標を決めよう。』『とりあえず訳そう。』『訳すのを手伝おう。』です。

■目標を決めよう。

何よりもまず、既に訳されているかどうかを確認する必要があります。実は結構な量のドキュメントがdoc-jp(FreeBSD 日本語ドキュメンテーションプロジェクト)によって訳されているのですが、上記wikiについては、勢いでやっつけてしまいたい! 翻訳には興味あるけどSGMLとかはダルい! くらいのノリが見えます。それはそれでいいんですが、折角doc-jpが数年にわたりノウハウや訳文を積み上げているわけですから、これを活かさない手はないでしょう。

英文については、この中にあるものがターゲットになることでしょう。
/usr/doc/en_US.ISO8859-1/
( http://www.freebsd.org/doc/en/ )
例えばハンドブックであれば
/usr/doc/en_US.ISO8859-1/books/handbook/
( http://www.freebsd.org/doc/en/books/handbook/ )
こうです。分割版をお勧めします。

で、日本語訳があるかどうかは、
/usr/doc/ja_JP.eucJP/
( http://www.freebsd.org/doc/ja/ )
ここを見ることになります。例えばハンドブックであれば
/usr/doc/ja_JP.eucJP/books/handbook/
( http://www.freebsd.org/doc/ja/books/handbook/ )
こうですね。分割版を(ry

で、ハンドブックの場合なら、分割されたHTMLファイルから1つを選び、wikiで翻訳作業をしてみるとよいでしょう。

さて、ハンドブックの英語版と日本語版を見比べてみると、コピーライトもさることながら、一部章立てが違うことに気づきます(例えば二章)。これは、日本語訳した英文ファイルのバージョンと、現在の英文ファイルのバージョンが違うために起こります。なので、翻訳するときには『どのファイルを訳したか』『いつのファイルを訳したか』の2つを明確にすることが重要です。wikiには当面、どのHTMLファイルを、いつ翻訳したか、書いておけばいいと思います。

(ファイルの取扱い方を把握した人なら、バージョンを書いて元ファイルを訳すのがベスト。今は7.0-RELEASE直前なので、今後さらに英文側が変更される可能性が高いことに注意。)

なお、http://www.freebsd.org/doc/ja/ には反映されていない和文もありますので注意して下さい。( /usr/doc/ja_JP.eucJP/ 以下を手元のファイルやcvswebなどで見てみてください。 )

■『とりあえず訳そう。』

どれを訳すか決まったら翻訳作業に入るわけですが、せっかくですのでdoc-jpに合わせた訳文を心がけてみましょう。

http://www.jp.freebsd.org/doc-jp/guide.html
ここから最低限チェックしとくと良さそうなことをピックアップ。

  • 翻訳上の注意
    1. 文体は「ですます調」でお願いします。
    2. ASCII 文字セットにある文字はそれを使ってください。
    3. いわゆる「半角カナ」や「全角英数字」は使わないでください。
    4. 句読点は「、」「。」を使ってください (以前は 1 バイト文字の「,」「.」が利用されていました)。
      また、既存の文書の句読点を変換するときは、 次のことを目安に臨機応変に対応してください。
      • チェックする人の負担を減らすために、diff には句読点の 変換のみを含めるようにしてください。
      • コマンドの出力メッセージ、会社名や単位、英文の参考文献の タイトルや引用の部分はそのままにしておいてください。
      • 英単語区切りには「,」を使ってください。
    5. 日本語ドキュメントのファイル名は英語ドキュメントと 同じにしてください。
         英語版と日本語版は別のディレクトリに入れるので ファイル名で区別する必要はありません。
  • 翻訳する上で参考になるもの
    1. 不完全なものですが 対訳表 があります。
    2. 今までに翻訳されたファイルの英語版と日本語版を比較してみる。
    3. その事について 検索 してみる。
    4. NEC PC98 シリーズ用 FreeBSD の日本語ドキュメントを参考にする。 ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-PC98/ にあります。
    5. ハンドブックや FAQ などは、ある一定の 指針 に沿って作業が進められています。 …が、必ずしも強制されるものではありません。
      文章が必要以上に堅苦しい表現にならない範囲で作業してください。


これくらい? ターゲットを切り分けてくれる人が増えるまでは、自分で目標を宣言しながら翻訳を積み重ねることになると思います。既に訳されてた、なんてことも起こるかもしれません。

■『訳すのを手伝おう。』

英語は苦手だけど技術的なことに興味あり、みたいな人は、まず何を訳すべきなのか、そして、訳されたテキストをどうやってdoc-jpにcontributeするところまでもっていくかを考えたらいいと思います。


  • まずは /usr/doc/ にあるドキュメントをmakeして喜んでみる(必要な知識やツールはこのあたり)。
  • 貢献方法作業手順を読んでみる。
  • ターゲットになっている文章の構造を把握し、wikiに反映することを考える。
  • wikiにどこを訳せばいいかをファイル単位で明示してみる。(未訳・既訳・更新アリのチェックを含む)
  • HTMLベースで訳している人の訳文を元ファイルに落とし込んでみる。
  • (難易度激しく高!)doc-jpプロジェクトが手動でやっている処理を自動化するようなシステムを考える。(翻訳に集中できる環境を整える)


外から見て、ひとりで思いつくのはこれくらい、です。
もっと綺麗な作業分担方法を思いついた人は、ばんばん仕切っちゃっていいと思います。みんな楽になるでしょうし。

はてさて、うまく作業が進むでしょうか? これに慣れたら doc-jp に飛び込んでみるのもよいかと思います。


追記:平成20年1月29日(火)
で、その後どうなったのかというと……
2ch有志かと思ったら一人だけだったみたいです。

2008年1月15日火曜日

send-prしてみる。(mh編)


とりあえず先に進むことにする。
本当なら porttools-0.77 と nbsmtp-1.00 で快適send-pr、の予定だったのですが、
主にネットワーク上の都合によりWebから送付、ということにします。
まずはports全体のpatch作りから、ふたたび。


  1. make update で取り込んだオリジナルの /usr/ports/japanese/mh を、一旦 /usr/ports/japanese/mh.orig にコピー。
  2. /usr/ports/japanese/mh を改めて一から修正。(このへんは過去とったdiffを活用)
  3. port test -l でチェックする。warningが出る……

    WARN: /usr/ports/japanese/mh/pkg-plist: [74]: If and only if your port is
    DOCSDIR-safe (that is, a user can override DOCSDIR when building this port
    and the port will still work correctly) consider using DOCSDIR macro;
    if you are unsure if this this port is DOCSDIR-safe, then ignore this warning

    DOCSDIRを変えても問題はないか、って?
    Makefileには DOCDIR なんてのがあるんだけど、ちょっと違うようなので、
    ここでは見過ごすことにします。(ツッコミ歓迎)
  4. port diff -d .orig | gzip -c > /tmp/ja-mh.080115.diff.gz (オリジナルのディレクトリとdiffをとります。)
  5. cd /tmp/
  6. uuencode ja-mh.080115.diff.gz ja-mh.080115.diff.gz > ja-mh.080115.uu.txt


ということで送るファイルは出来ました。(このパッチには一部Ctrl+Lが
含まれているので、このようにして送るのが安全みたい。)

さて、send-prしてみます。

http://www.freebsd.org/send-pr.html
(なぜか日本語のページからsend-prしようとするとCAPTCHA風味のところで
正しい入力ではない、と撥ねられてしまうので、本家版のほうからやります。)

一部を転載。



One line summary of the problem: [PATCH] japanese/mh for gcc 4.2 on FreeBSD 7.0
: ports
: non-critical
: low

:
I modified this ports to compile with gcc 4.2 on FreeBSD 7.0.
Please review and consider applying the following patch.
(あやしい英語だ!)
:
ここにさきほどuuencodeしたpatchを読ませる。
Finally, please enter the code from the image below to prove you're not a robot:
(CAPTCHA風味の英数字入力をして・・・)


Submit!

Thank you!

おわり。

しばらくするとsend-prした内容を受け付けた旨のメールが届きます。

手順がおかしいところがあったらコメントいただけると幸いです。

次の目標は
http://www.otsune.com/bsd/ports/install_as_user.html
http://uyota.asablo.jp/blog/2006/02/15/254777
これだな……

2008年1月11日金曜日

募集:ja-plain2がbrokenだったけどなおしてみた。

こんな感じで一応解決?




--- src/macro.h.org 2008-01-11 01:36:11.000000000 +0900
+++ src/macro.h 2008-01-11 01:33:10.000000000 +0900
@@ -2,6 +2,8 @@
* Copyright (C) 1992,1993 NEC Corporation.
* $Id: macro.h,v 2.6 1994/04/19 10:16:49 uchida Exp $ (NEC)
*/
+#define MAX_MACRO_LEN 320
+
#define MACRO_MAXARG 10

#define M_DOC_BEGIN 0
@@ -74,5 +76,5 @@

struct macDefs {
int mdef_number;
- char *mdef_def;
+ char mdef_def[MAX_MACRO_LEN];
};



これでとりあえずTeX, HTMLへの変換動作はうまくいってます。
本当ならヘッダ部の怪しいところ全部、ちゃんと配列に置き換えるべきなのかもしれません。



http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.tar.gz



portsにしたのでとりあえず、動作確認してくれる人を募集します。
FreeBSD関係ない部分とそうでない部分に分ければLinuxのパッケージにも入れられるかな。
分けてくれる人も大募集。

2008年1月10日木曜日

続:ja-plain2が……

結論: portsっていうレベルじゃないぞ!?

とりあえずデバッグしてみましょう。


--- plain2.org/Makefile 2008-01-09 21:35:05.000000000 +0900
+++ plain2/Makefile 2008-01-09 23:51:01.000000000 +0900
@@ -22,15 +22,11 @@
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig
BUILD_WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig/src

-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML -fwritable-strings"
+MAKE_ARGS= CC="${CC}" CFLAGS="-g -DBSD -DKANJI -DPICTURE -DHTML"
ALL_TARGET= ${PORTNAME}

.include

-.if ${OSVERSION} >= 700042
-BROKEN= Broken with gcc 4.2
-.endif
-
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/lib/plain2|${DATADIR}|g' ${BUILD_WRKSRC}/plain2.h


まあわざわざ書くまでもないところですか。


vmbsd7# make
(中略)
cc -g -DBSD -DKANJI -DPICTURE -DHTML -o plain2 plain2.o readfile.o miscutil.o section.o example.o list.o plaintxt.o spacing.o headfoot.o hint.o justify.o texout.o output.o renumout.o macro.o htmlout.o roffout.o analyze.o table.o title.o picture.o ftitle.o


順当順当。


vmfbsd7# cd work/plain2-2.54p1.orig/src/
vmfbsd7# gdb ./plain2
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) run -tex ./plain2.h

Starting program: /usr/ports/japanese/plain2/work/plain2-2.54p1.orig/src/plain2 -tex ./plain2.h

Program received signal SIGSEGV, Segmentation fault.
0x0805253d in macroParse (
s=0x805affd "$2]{j-article}\n\\else\\documentstyle[$3]{jarticle}\\fi\n\\setcounter{secnumdepth}{6}\n\\setcounter{tocdepth}{6}\n\\topsep=0.1cm\n\\parsep=0.1cm\n\\itemsep=0.0cm\n%\\renewcommand{\\bf}{\\protect\\pbf\\protect\\pdg}\n\\begin"..., macroNum=0,
orig=0x805af98 "\\newif\\ifNTT\\NTTfalse\n\\ifx\\gtfam\\undefined\\ifx\\gtfamily\\undefined\\NTTtrue\\fi\\fi\n\\ifNTT\\documentstyle[$2]{j-article}\n\\else\\documentstyle[$3]{jarticle}\\fi\n\\setcounter{secnumdepth}{6}\n\\setcounter{tocdept"...) at macro.c:121
121 *s = '\0';
(gdb)


macro.c で、ポインタsが指してる先に '\0' を書こうとしてますね。
んでそれは文字列の一部、と。え、文字列?


(gdb) list
116 != def_type) {
117 fprintf(stderr,"Improper argtype in \"%s %s\"\n",
118 macNames[macroNum].mname_name, orig);
119 exit(1);
120 }
121 *s = '\0';
122 if (*(s + 2) == '\0')
123 return mip;;
124 new_mip->cmac_next = macroParse(s + 2, macroNum, orig);
125 break;


これでは分からない……。該当する文字列はどこで設定しているか、macro.c を見てみると、


28 struct macDefs texMacros[] = {
29 M_DOC_BEGIN, STR_DOC_BEGIN,
30 M_DOC_END, "\\end{document}\n",
31 M_PLAIN_BEGIN, "\\par\n",
32 M_PLAIN_END, "",


とかやっていて、STR_DOC_BEGIN にあの長ったらしい文字列がdefineされていました。
で、macDefsの定義はというと、grep したらば macro.h にあるという。曰く、


75 struct macDefs {
76 int mdef_number;
77 char *mdef_def;
78 };


こ、これではダメだ……書けるはずがない。というかこれを無理やり? 書けるようにするためのコンパイルオプションが -fwritable-strings だった、というわけですね。

えー、これ直すのー?(実はすぐ直せるんだけど…)

ja-plain2がbrokenなんですけど……(未解決)

実況:ハマる ports いじり。




ja-mhの件で、過去自分が使ったことのあるものでBROKENなものが他にあるのか、調べてみると……
(参考: http://portsmon.freebsd.org/portsconcordanceforbroken.py
なんと懐かしのplain2が壊れている。
FreeBSD 7.0 では gcc4.2.1 なわけだけど、コンパイラオプションの -fwritable-strings が無いため、らしい。

なら外してみればいいじゃない!(ぉ

(本当はrootでやっちゃいけません。たぶん。)



vmbsd7# cd /usr/ports/japanese
vmbsd7# cp -r plain2 plain2.org
vmbsd7# cd plain2


こちゃこちゃとMakefileを書いてみよう。




vmfbsd7# diff -u plain2.org/Makefile plain2/Makefile
--- plain2.org/Makefile 2008-01-09 21:35:05.000000000 +0900
+++ plain2/Makefile 2008-01-09 22:20:32.000000000 +0900
@@ -22,14 +22,14 @@
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig
BUILD_WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig/src

-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML -fwritable-strings"
+MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML"
ALL_TARGET= ${PORTNAME}

.include

-.if ${OSVERSION} >= 700042
-BROKEN= Broken with gcc 4.2
-.endif
+#.if ${OSVERSION} >= 700042
+#BROKEN= Broken with gcc 4.2
+#.endif

post-patch:
@${REINPLACE_CMD} -e \


結果。
http://www1.odn.ne.jp/taraijpn/plain2_errlog.txt

なにが恐ろしいってbinary出来てるんだよなあ……おそるおそる実行してみよう。
(やっぱりrootでやっちゃいけません。)




vmfbsd7# ./plain2 -tex ./plain2.h
Segmentation fault (core dumped)



そりゃそうだ。まあ plain2.h に手を入れて warningを消すことを考えよう。

http://www1.odn.ne.jp/taraijpn/patch-src::plain2.h




vmbsd7# make
(中略)
===> Building for ja-plain2-2.54.1_2
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c plain2.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c readfile.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c miscutil.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c section.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c example.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c list.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c plaintxt.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c spacing.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c headfoot.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c hint.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c justify.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c texout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c output.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c renumout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c macro.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c htmlout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c roffout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c analyze.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c table.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c title.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c picture.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c ftitle.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -o plain2 plain2.o readfile.o miscutil.o section.o example.o list.o plaintxt.o spacing.o headfoot.o hint.o justify.o texout.o output.o renumout.o macro.o htmlout.o roffout.o analyze.o table.o title.o picture.o ftitle.o
vmbsd7#



美しい :D

だがしかし。




vmfbsd7# ./plain2 -tex plain2.h
Segmentation fault (core dumped)


……あれー?

次回: -fwritable-strings に込められた意味とは!?
(過去どこかのblogでまったく同じハマり方をしている記事を見かけています。)

2008年1月9日水曜日

今年の目標。



この右下にずらーっと現れるJavaScript読み込みへの嫌悪感を無くすこと!

よく分かってない仕組みだから嫌なのであって、積極的に使えば嫌悪感も薄れることだろう。きっと。

Java開発者のためのAjax実践開発入門』も買ったし。
私はJava開発者じゃないけど、面白い本ですねこれ。
この本を読んでLaTeX入門の構成を見直そうかと思うくらい。

2008年1月8日火曜日

ja-mhがbrokenなんですけど・・・・・・

/usr/ports/japanese/mh がFreeBSD 7.0でBROKENになっていたので手を入れてみました。

http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.tar.gz

昨年末勢いで作って2chのFreeBSD関係スレッドに投げたんですがリアクションが無く orz
ちゃんと動いたらsend-prしますんで誰か試してみて下さいな。

ファイル置く場所がidiskてのはどうなのか……と思ってODNに切り替え。

2008年1月2日水曜日

FreeBSD 7.0 やってみたいリスト

FreeBSD 7.0-RCになってますね。試してみたいいくつかの機能についてメモ。誰かやってくれリストとも言う。
  • ZFSを使ってみる
    • 実は一度試みたが、最小インストール後に /var, /tmp をZFSに割り当てる作戦をとった際、/varをZFSで確保したとこにコピーしようとして失敗。追加フラグの存在を失念していたためだが一端あきらめ今に至る。
    • ZFS化した後のファイルシステムに対するパフォーマンスの評価(どうやって?)
    • 使いどころを考える。(メモリ安値なら/tmpはtmpfsにすべき?)
  • lagg (リンクアグリゲーション)?
    • IEEE 802.3adに対応したスイッチが必要。
    • 実感を得られるような使い方をしていないので保留。
意外と少ないことに気づくのであった。
まああとは、利用していくにつれていろいろな変化に気づくんだろうなあ。

FAT32->NTFSへの変換

Vmware Workstation 6.0@Vistaで作っていたFreeBSD環境をFAT32でフォーマットされた外付けHDDにコピーして、実家に持って帰ったのですが、いざ実家でノートPCにつなぎVmware Player 2に読ませてみたらば、チェックしていたはずの「仮想HDDは2GBごとに分割する」がどうも効いてなかったようで、「このOSというかファイルシステムではダメですよ」みたいなエラーが出て起動しませんでした。
年末のうかつに年始で悩まされるか。がっくりだ。

というわけでちょっと探してみた結果、FAT32自体は1ファイルサイズあたり4GBが上限だったようで、確かに見てみたら分割されてる仮想HDDイメージのなかに3GBのものがあった。幸いにもイメージ全体は壊れていないようなので、ファイルシステムをコンバートすればいけるようで。
さっくり検索、convertコマンドの存在を知り、ちょいちょいっと外付けHDDをコンバート。
あっさり変換。あっさりFreeBSD@vmware 起動。めでたしめでたし。

と思ってこの記事を書こうと思い調べなおしたらば。
http://www5f.biglobe.ne.jp/~ayum/sample/filesystem.html
>変換した際にフラグメンティションが発生し、パフォーマンスが低下するようです。
引っかかった…… orz