Ubuntu で wikipedia-fpw をよる変換失敗

以下の方法は最終的には失敗しています。よって、参考にはならないかもしれません。

Wikipedia のダンプファイルを EPWING 形式に変換して、ザウルスで閲覧する方法を前に紹介した。その際、変換スクリプトの Wikipedia-fpw は Cygwin 上で使用したが、Perl の制限によって相互参照は付けられなかった。

あまっているノートパソコンには、Ubuntu 9.04 が入っている。これを使って変換すれば相互参照ができるはずだ。しかし、Ubuntu にプレインストールされている perl には、必要な USE_64_BIT_INT と USE_LARGE_FILES が付いていない。上記のオプション付き perl をビルドするのが面倒で、しばらく放置しておいたのである。

しかし、調べて実際にやってみると、思いのほか簡単であった。以下の記事は基本的に、下記のサイトを参考にしたものである。環境は、Ubuntu 9.04 [2009-04-23] である。


ウィキペディアの辞書化 その2(はけの徒然日記)
2GB越えのWikipediaをZaurusで見られるようにしてみました(概要)(Masaatoshi Ito の備忘録)

USE_64_BIT_INT 付き perl のビルド

注記 2009-12-08:wikipedia-fpw 以外に Ubuntu を利用している場合、USE_64_BIT_INT 付き perl のインストールはパスを変えて行った方が安全です。

まずは端末(ターミナル)を開いて "perl -V" と入力し、USE_64_BIT_INT と USE_LARGE_FILES がないことを確認する。次に下記から perl の最新版ソースコードをダウンロードする。


Perl Source Code

私の場合は、perl-5.10.1.tar.gz であった。これを解凍し、ディレクトリの中に入る。そして、USE_64_BIT_INT の設定でコンフィグを行う。


$ tar zxvf perl-5.10.1.tar.gz
$ cd perl-5.10.1
$ ./Configure -Duse64bitint

この際、色々と聞かれる。質問の内容はよく分からなかったが、私の場合は、すべてデフォルトの設定で大丈夫だった。コンフィグで止った場合は、何かライブラリが不足している可能性がある。

特に問題がなければ、下記のようにしてインストールする。


$ make
$ make test
$ sudo make install

私は当初、もとから入っている perl をアンインストールしたり、あるはパスの変更などを手動でしなければならないと考えていた。それが面倒だと思ってしばらく放置しておいたのだが、それらは上記のインストールの際に勝手にやってくれるらしい。perl も便利になったもんだなあ、と感慨に耽る。

さて、インストール後は一応、"perl -V" で USE_64_BIT_INT と USE_LARGE_FILES の存在を確認しておこう。

Wikipedia の変換

perl のビルドができれば、Wikipedia のダンプファイルの変換は通常通りである(FreeEPWING を Ubuntu にインストールしておく必要はあるが)。今回、ダウンロードしたのは、2009年11月17日版。圧縮ファイルは 0.9G、解凍してできた XML ファイルは G であった。

wikipedia-fpw の設定ファイル (wikipedia-fpw.conf) で、相互参照を有効にしておく。なお、今回も数式は無効のままであった。


[...]
'enable_reference' => 1, # 相互参照を有効にする

では変換開始である。


$ fpwmake
$ fpwmake catalogs
$ fpwmake package

さて、ふじに変換は始まったのだが…。とんでもなく時間もかかってしまった。使用したノートパソコンはかなり旧式で、デフォルトでは Duron が載っていた。現在は CPU を Mobile AthlonXP 1800+ に換装したものの、速度の向上は微々たるもの。パワーのあるメイン PC に仮想マシンとして Linux を入れた方が速いだろう。しかし、それだと古いパソコンが活躍する機会がなくなってしまうのである(笑)。

かくして約20時間たち、ようやく fpwmake が完了した――かにみえた。が、無情にも以下のエラーが!


/usr/local/libexec/freepwing/fpwlink: unexpected position.: work/textref
make: *** [work/link.dep] エラー 9

いまさら、もう一度 fpwmake はできない。よって、強引に fpwmake catalogs と fpwmake package を敢行した。そうしたら、後者の最中にノート PC がフリーズ。作業ディレクトリがある外付け USB ハートディスクが壊れてしまったのである。幸いにして物理的に破損したわけではなかった。しかし救出した EPWING データは DDwin などで閲覧することはできなかった。完全に失敗である。

と、以上の有様なので、この型落ちノートでの作業は断念せざるを得なくなったのである。