Previous month:
2006年4 月
Next month:
2006年6 月

2006年5 月

Connotea Code

今夜もConnotea Codeのインストールにチャレンジ。mod_perlの問題でもう3~4日ははまっているのですが。しかも動いたところでデモ用以外に使途は(たぶん)なし。

「今日本中でこんな作業しているのは自分だけ…かも。」漂う寂寥感。

 Apache2.0.54+mod_perl2.xでは動かない。connoteaのPerlモジュールが必要としているモジュールがmod_perl2の中に無い。mod_perl1のモジュールが呼ばれている。マニュアルには推奨されるmod_perlのバージョンなんか書いてない。理由が分からない。理不尽。

 開発者用メーリングリストを見ると、「mod_perl_1.99なら動く」との神託が。
…そういう大事なことは普通マニュアルに書くべきものではないのか。>nature publishingの中の人。

 naoyaのはてなダイアリーの今年1月のエントリ、mod_perl 2.0.2 へのマイグレーションによれば、

現在、mod_perl には互換性のない三つのバージョンが存在してます。

  • mod_perl 1.0 (1.29)
  • mod_perl 1.99
  • mod_perl 2.0 (2.0.2)

(略)
1.99 というのは、mod_perl 2.0 が Stable リリースされる直前までのバージョンで、言うなればベータ版。ベータが取れるときにいくつかの API が変更になったり、名前空間が Apache から Apache2 に変更されたりといった経緯があって、その両者はだいたい同じなんだけど互換性がありません。

とのこと。仕方がないので 2.0 と 1.99 をそれぞれyum installやCPAN shellからインストールしたり、rpmでパッケージから入れてみたりと試行錯誤を続け、結局ソースから以下のオプションでビルド。

$ cd mod_perl-1.99_12
$ perl Makefile.PL MP_INST_APACHE2=1 \
  MP_APXS=/usr/sbin/apxs \
  MP_APR_CONFIG=/usr/local/apache2/bin/apr-config \
  MP_GENERATE_XS \
  MP_USE_DSO \
  MP_STATIC_EXTS \
  MP_COMPAT_1X=1

$ make
# make install

 ちなみに、/usr/sbin/apxs はもともとのFedoraCoreのパッケージ版、/usr/local/apache2/bin/apr-config はソースからビルドしたもの。どちらもApacheのバージョンは2.0.54。

 mod_perlがらみのエラーはなくなり何とか動きそう。しかしマニュアルにあった以外のPerlモジュールを入れろと言ってくる。(指定のモジュールをインストール中にPerlを5.6.0->5.8.8にさせられたりもしましたが。しかもインストール場所を間違えてpathが混乱して2回もインストール。)
 で、

HTTP::OAI::UserAgent
Cache::Memcached
DBI-1.50.tar.gz

 などを投入。これでPerlモジュール依存のエラーは解消。

 httpdも起動するようになったし、さてブラウザからアクセスすると…Error 500。
logを見るとデータベースに接続できていないようだ。おかしいな。マニュアル通りにDBアクセス用のユーザを作って /etc/bibliotech.conf にも書き込んだのに。

 よーくマニュアルを見て気がついた。DBのテーブルを作るSQLは作成しているのに、CREATE DATABASE していない。そうですか。方法は書かないけどそれぐらいは暗黙の了解。空気読めよと。イギリス人らしいスタイルだな。ペルーから単身渡英して駅で暮らしていたクマを受け入れる余裕があるだけのことはある。(本文とはまったく関係ないが、「老くまホーム」があるくらいペルーのクマ福祉政策は充実しているのになぜ渡英。謎だ。)

 そしてテーブルを作るためSQLを食わせるとエラーを吐くMysql。どうしたものか。明日も続くのか。もう意地だ。


2006/05/24 追記

そんな苦労をしなくても、開発用メーリングリストからの最近の情報では、perl5.0.8+mod_perl2でもコードをちょっといじれば動作するようだ。

あと、MySQLの件はこちらのポカ。catとかechoしないとテキストファイル中のSQLは出力されないじゃないか。超初心者なミス。

で、とりあえず動いてはいますが…機能を何も設定していないからユーザ登録しかできない寂しい状態。時間があったらなんとかしよう。


サラリーマンNEO

 せっかくDebian化した玄箱(初めて電源を入れて即座にDebian化しましたが何か)も連続稼動試験と称しつつ久しくloginしていないとか、職場のテスト用PCにconnotea codeを入れようとしてmod_perlのバージョン(2.0なのか1.9なのか誰かanswerを)に苦しんだり、旧台北帝大教授のその後の足取りと業績を追わされるレファレンスなどのヘビーな日々も、この番組で解消。だから情報は電網じゃなくて冊子体にあるんだってば。>誰ともなく。

 それが、「謎のホームページ サラリーマンNEO」。NHK総合で火曜23:00-23:29。地上波、BS、BShiでも再放送があるので安心。

 イイ。すごくイイ。NHK的なまじめさを微妙に残しつつどこか突き抜けた味のあるコント。「世界の社食から」は楽天だ。ソフトクリームも取り放題だ。すごいぜ楽天。

 情報を小出しにしつつ仕事は続く。


救出

 3月の夜、ハードディスクの異音とPCが沈黙した。昨日の夜、土浦の町にメモリとディスクを追っていた。そして、masterではなくslaveのディスクが死んでいた。明日の朝、新品未開封の120GBハードディスクが、玄箱の中でDebianと唸りを上げる。K'sデンキつくばセンター店はつくばに残されたパンドラの箱。質と量を問わなきゃ何でもある。

 明後日、そんな先の事はわからない。(続く)


必要なユーザIDとパスワード。それは toshokan と taikutu 。


トーストラック

 たまには連休中の出来事なぞ。

 唐突ですが、トーストラック(or トーストスタンド)をご存知ですか? 要はトースト立てです。

 Googleでイメージ検索をしていただければ大体の形状はお分かりになると思いますが、焼いたトーストをお皿に平たくおくと熱気でカリカリ感が失われてしまうので、立ててトーストを食卓まで持ってゆくためのスタンドです。イギリスではきっと「一家に一つ」(想像)みたいなアイテムで、以前Internet Librarian International 2004に参加した際の会場だったMillennium Gloucester Hotelでもこれで三角に切った薄くてカリカリのトーストが供されていました。安いconference rateで宿泊したので、有名なEnglish BreakfastではなくContinental Breakfastでしたが。(卵焼きとかベーコンやらはつきません)

Pht0509232000 で、紅茶がものすごくおいしかったのとトーストラックが気になって、Googleで検索したりいくつかお店を回ってみたのですが見当たらず(あっても純銀製とかだったり高い)国内では入手できないものかと思っていたのですが、連休中にららぽーとへ出かけたところ、ありました!
 212Kという
輸入物のキッチンウェアを扱うお店で、買った品は写真のもの。 蛇腹状に広げることができ、トーストのサイズに合わせて4枚まで運べます。

 これでせわしい朝のひと時にも変化が出るというものです。長く使いたいですね。

 …あれ、212Kってつくばにもお店があるよ。実は船橋まで行かなくても買えたのかなあ。いやそんなことはないと信じよう。大体通販でも買えるみたいだし。2年前にはヒットしなかった。そう信じよう。うん。


ネット対談始末記

 図書館blog界のメインストリーム(ってなんだ)から遠く離れた話題がメインのこのblogでも、最近は「見てますよ」とご同業の方からコメントを頂くことが多くなりました。現状の月2回更新から頻度を上げてゆかないと、と思う午後。

 それはさておき。

 先日、あるメールマガジンの主催で初めて「ネット対談」というものに参加させていただきました。企画そのものは3月ぐらいからご提案いただいていたのですが、諸般の事情で4月末になったものです。ネタは「RSSの学術利用」です。バックナンバーも公開されておりますので、詳しい内容はそちらをご覧ください。
 メッセンジャーを使っての3人での対談でした。メッセンジャーを使い慣れていないこともあり、どのタイミングで返事を返せばいいのか、どのあたりで文節を区切ればいいのか、でもお二人とも初対面(メールでのやり取りだけで、お会いしたことはないのです)だし緊張、などと戸惑うばかりでしたが、編集された原稿を見るとちゃんとまとまっており、

Aさん:図書館退屈男さんのところは進んでますよね。
Bさん:そうですね。すごい。
わたし:ありがとうございます。

という「お褒めにあずかる→同意→お礼」なシーンが何度かあり、なんだか持ち上げられてばかりなような。腰低いぞ>自分。

 最初は1時間の予定でしたが話が盛り上がり気づけば2時間以上経過。さすがに最後の方はだいぶ打ち解けた会話ができました。OPACにまつわる懐かしい話題や今後の展開など、大分勉強させていただいたほか、あとから読み返すと新しいアイディアも思いつくものです。オフレコとした部分も大分あったので、編集された方にはご苦労をおかけしましたが、貴重な体験をさせていただきました。
 対談の最後やその後のメールでのやり取りでは、どこかの会合などでの再開を約束して締めとなりました。こうしてOffline→Onlineの関係ができてゆくのですね。楽しみです。


 掲載用原稿の校正やらそんなこんなをしているうちに、OPAC関係のネタでの発表依頼を頂きました。8月だそうです。それまでにまた皆様にお見せできるサンプルを作らないと。プレッシャーと発表させていただける喜び。本当にありがたいことです。


追記:2006/05/05

そのメールマガジンですが、本日朝に無事配信されました。記事はこちら(blog版)。


XooNIpsを動かしてみた

 某大の方から、メールで「うちの機関リポジトリに登録した雑誌のメタデータをハーベストしませんか?」というお申し出を頂いた。ありがたいお話。

 ということで、OAI-PMHなハーベスタと検索インターフェースぐらいは用意しないとまずいなあ、でも今あるプロトタイプだと検索がいまいちだし。仕様を書いたのは自分なので文句も言えず。

 で、先日慶應大のシンポジウムで発表があったXooNIpsに目をつけた。参加しておいてよかった。
XooNIpsはXoopsのモジュールとして構成され、

  • MySQL
  • PHP
  • Apache

で動作する。当然であるがXOOPSのその他のモジュールも利用できる。開発は理化学研究所脳科学総合研究センターニューロインフォマティックス技術開発チーム

 リポジトリに登録するデータの投稿→(査読→編集)Xn→掲載の流れをサポートするDspace等と違い、ラボや研究所単位での「従来のように論文などの紙を媒体とした書誌による情報だけでなく,実験データ,数理モデル,シミュレーションプログラム,結果のデータやグラフ,URLなど電子情報を含めた様々な研究資源をインターネットによって共有する」(http://xoonips.sourceforge.jp/modules/bwiki/index.php?intro-aboutより引用)システムで、論文、グラフ、URL等のアイテムタイプごとに入力項目を変えて対応できる。研究室や研究チーム内などで情報共有を図るにはよさそうなツール。

 データの公開レベルは

  • Public(一般に公開。OAI-PMHでのハーベスト対象)
  • Group(特定のグループ内でデータを共有)
  • Private(個人用のフォルダ)

となっており、Publicにデータを上げるためにはmoderatorによる査読を通すこともできる。OAI-PMH対応リポジトリからのデータハーベストも可能。これだけあれば十分だ。

 やはり大きいのは検索も元々の使用言語が日本語であること。これだけでも大分敷居が低く安心だ。

 詳細は、

 を参照されたい。ダウンロードにはユーザ登録が必要。

 ということでインストール。当方ではFerodaCore4上で構築してみた。早速MySQLのダウングレード(4.1系から4.0.26へ)。あとはODBC系のドライバ、XOOPSのインストールと続く。
 ここまで終わるとXooNIps本体の導入になる。XooNIps構築の際に必要となるPHP拡張ライブラリ、Abstract Layerの構築でmake installすると

[root@cl3 AL]# make install
make[1]: Entering directory `/usr/local/src/xoonips/AL'
test -z "/usr/lib/php/modules" || mkdir -p -- "/usr/lib/php/modules"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'XNPAL.la' '/usr/lib/php/modules/XNPAL.la'
/usr/bin/install -c .libs/XNPAL.so /usr/lib/php/modules/XNPAL.so
/usr/bin/install -c .libs/XNPAL.lai /usr/lib/php/modules/XNPAL.la
PATH="$PATH:/sbin" ldconfig -n /usr/lib/php/modules
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/php/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[1]: `install-data-am' に対して行うべき事はありません。
make[1]: Leaving directory `/usr/local/src/xoonips/AL'

とwarning。XNPAL.soは生成されているが、何が悪いのか。ライブラリのパスを変更したりするなど試行錯誤したがここではまり、窮して公式Webサイトのフォーラムで質問。「それでOK。インストールを続けてください。」との返事があり、安堵。ありがたい。
続いて、XOOPSのSYSTEM ADMIN->ModulesからXooNIpsや各種アイテムタイプをインストール。あとはFAQに従いphp.iniのmemory_limitを適当に増やしてapacheを再起動。おお動いたよ。PMIDから論文のメタデータを引いて登録できたりするよ。すばらしい。

 そのほか、ついでと思ってyum install perl-*とかしたらいつの間にかMySQLのバージョンが元に戻っていたりなど手戻りもあったが、安定して運用できそう。

 と、そんなこんなで休暇のうち1.5日程度費やされる。新しいソフトのインストールって楽しいよね。でもそれでいいのか。まあいいや。