インストール: stdman | C++標準ライブラリーのmanページ

有志により開発されたC++標準ライブラリーのmanページであるstdmanをソースコードからインストールする。

C言語のAPIであれば,デフォルトでmanページが存在しており,manコマンドから関数リファレンスなどを閲覧できる。しかし,C++はデフォルトでは存在していない。

Ubuntuなどでは,libstdc++-8-docパッケージなどをインストールすれば一応manコマンドから検索できる。しかし,こちらのパッケージでは,例えばman std::coutを実行してもページがヒットしなかったり,サンプルコードがなく少々使いにくい。

今回インストールするstdmanは「cppreference.com」のHTMLをmanページに変換したものとなっている。サンプルコードも掲載されており,網羅性もなかなかいい。

そこで,今回はstdmanをインストールした。

インストール情報
項目 説明
配布元 jeaye/stdman: Formatted C++20 stdlib man pages (cppreference)
リポジトリー jeaye/stdman: Formatted C++20 stdlib man pages (cppreference)
手順 stdman/README.md at master · jeaye/stdman
依存情報 stdman/README.md at master · jeaye/stdman
依存先 (必須) Make (GNU Make)
依存先 (任意) elinks, gzip
依存元
インストールコマンド
sh -eux <<-"EOT"
PKG=stdman VER=2018.03.11 TAG=$VER PKG_VER=$PKG${VER:+-$VER}
LOCAL=~/.local J=$(grep -cs '^processor' /proc/cpuinfo || echo 2)
mkdir -p "$LOCAL/src"
cd "$LOCAL/src"

if command -v git >/dev/null; then
  [ -e $PKG ] || git clone --depth 1 https://github.com/jeaye/stdman/ $PKG
  cd $PKG
git fetch --depth 1 ${TAG:+origin tag $TAG} git checkout -f ${TAG:-master}
git clean -dfX else [ -e $PKG_VER ] || wget URL tar -xf $PKG_VER.* cd $PKG_VER fi
make -kj $J distclean clean || :
[ -e configure ] || [ -e configure.ac ] && autoreconf -is [ -x configure ] && ./configure --prefix="$LOCAL/stow/$PKG_VER" make -j $J # make -j $J check make -j $J install cd "$LOCAL/stow" echo $PKG${VER:+-}[0-9]* | xargs -n 1 stow --ignore=dir -D stow --defer=dir $PKG_VER EOT
インストール例
日付 バージョン OS 依存関係
2020-06-27 Thu 2018.03.11 Ubuntu 18.04 GNU Make 4.2.1, GCC 7.4.0

テストは同梱されていなかったので,make checkmake testは実行しない。

elinksはmake generateでmanページのビルド時に必要なようだ。インストールするだけなら,なくても大丈夫だった。

make installを実行すると以下のメッセージが表示される。

Done; it's advised to run 'sudo mandb' (GNU) or 'sudo makewhatis' (BSD) now.

メッセージ通り,manコマンドのDBを更新するために,インストール後に以下のコマンドを実行する。

mandb

これでインストールは完了となる。

試しに,man std::coutを実行するとstd::coutのmanが表示される。C++のちょっとした調査に活用するとよいだろう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です