読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

自前ビルドでerl -manを動くようにする

Erlang

はじめに

Erlangのドキュメントってすごく良く書いてあるんだけど、HTMLの物って検索がブラウザだのみだったりして好かないのでコマンドラインでそのまま見れる"erl -man"コマンドで見ようとおもったらこんなエラーがでやがった。

$ erl -man lists
No manual entry for lists

これの直し方が分からなくてちょっと手間取った。

作業ログ

ソースからドキュメントをビルドする

よくよく調べてみたらここに記述があった。ここの3.6参照。

これにしたがってソースディレクトリに行ってビルド。

$ cd /opt/erlang/src/otp_src_R14B
$ make docs
$ make install-docs
$ erl -man file
file(3)                           Erlang Module Definition                                    file(3)

NAME
       file - File Interface Module

DESCRIPTION
       The module file provides an interface to the file system.
...

できた。

ミスった作業

format_man_pagesを使う

ググってたら昔のバージョンではformat_man_pagesでやりました、的な記載を見つけたのでやってみた。

$ mkdir $ERLANG_HOME/man
$ cd $ERLANG_HOME/lib/erlang/misc
$ ./format_man_pages $ERLANG_HOME
Formatting manual pages (this may take a while...)

あれ?終わったのか?あまりにも一瞬でできたので怪しい。中身を見てみると...

$ ls $ERLANG_HOME/man/*
/opt/erlang/R14B/man/cat1:

/opt/erlang/R14B/man/cat3:

/opt/erlang/R14B/man/cat4:

/opt/erlang/R14B/man/cat6:

全部空じゃねえかよ。

manファイルをダウンロードして入れる

ここに作成済みのmanファイルがあるので落としてきて解凍。今回はR14Bなので

$ curl -O http://www.erlang.org/download/otp_doc_man_R14B.tar.gz
$ tar xzf otp_doc_man_R14B.tar.gz
$ mv ./otp_doc_man_R14B/man $ERLANG_HOME
$ export MANPATH=$ERLANG_HOME/man:$MANPATH
$ erl -man lists
No manual entry for lists

あれおかしいな?