perldoc のアップデートと groff のインストール


yosemite のシステムの perldocperl 5.18.2, versin 3.19)では何故だがエラーが出なくなってて気付かなかったんだけど、plenv でインストールした 5.18.4perldoc(versin 3.19)では perldoc 呼ぶと以下みたいなエラーが出る。

You have an old groff. Update to version 1.20.1 for good Unicode support.
If you don't upgrade, wide characters may come out oddly.

 at ${PLENV_ROOT}/versions/5.18.4/lib/perl5/5.18.4/Pod/Perldoc.pm line 1346.
You have an old groff. Update to version 1.20.1 for good Unicode support.
If you don't upgrade, wide characters may come out oddly.

 at ${PLENV_ROOT}/versions/5.18.4/lib/perl5/5.18.4/Pod/Perldoc.pm line 1346.

久々に見たなー、懐かしーっ

てんで、対処法を。

perldoc のアップデート

Pod::Perldocの3.20からは挙動が変わり、Pod::Manではなく、Pod::Text::Termcapを使う様に変わっています。
引用元

$ cpanm update Pod::Perldoc 

これで終わりなんだけど、ついでに、groff のインストール

groff

$ export PERL5OPT=   # <= 自分のみ
$ wget -q http://ftp.gnu.org/gnu/groff/groff-1.22.3.tar.gz
$ tar zxf groff-1.22.3.tar.gz                             
$ cd groff-1.22.3/ 
$ ./configure --pref=${HOME}/cmd
$ diff Makefile Makefile.bak      #1 <= plenv してない人は無関係
473c473
< PERL=/usr/bin/perl
---
> PERL=${PLENV_ROOT}/shims/perl

$ make
$ LANG=C make install             #2
$ cd ../
$ rm -rf groff-1.22.3
  • #1. => plenv shell system してても、./font/devpdf/util/BuildFoundries の実行時にコケる。
  • #2. => 普通に実行すると、 sed: RE error: illegal byte sequence エラーが出たので LANG=C

普通に、brew した方が早かった。

$ brew tap homebrew/dupes
$ brew install groff