po4a-gettextizeをインストールしたことのメモ

po4a-gettixtizeをインストールしようと思ってやってみたらエラーに見舞われた。

メモのために手順とかを書いておく。

詳細にログとか書きたかったけど誤ってコンソールを消してしまってあまりログが残ってない。

インストー

↓でpo4a-gettextizeをダウンロードする。
https://alioth.debian.org/frs/?group_id=30267

ダウンロードししてREADMEを見てみると、

perl Build.PL
./Build
./Build install

という風にするって書いてある。まず

  • perl Build.PL
  • ./Build

をやってみる。
たしか./Buildをやったときに、gettextやらSGMLSなどを先にインストールして下さいと言われる。言われた通りにそこら辺をインストールしていく。やっていくうちに問題が発生した。

まずgettext

brew install gettext
type xgettext
#-> xgettext not found

えっ…。多分gettext自体は先にあってうまくリンク出来なかったのかも。なので強制的にリンクする。

brew link --force gettext

次にSGMLSのインストール作業のとき。

./Build installdeps

で依存関係をインストールしてくれるってのを./Buildのときに言われたのでコマンドを実行する。

$ ./Build installdeps
Checking optional dependencies:
Install SGMLS? [y ]y
Reading '/Users/OginoRyo/.cpan/Metadata'
  Database was generated on Tue, 10 Jun 2014 20:41:02 GMT
Running install for module 'SGMLS'
Running make for D/DM/DMEGG/SGMLSpm-1.03ii.tar.gz
Checksum for /Users/OginoRyo/.cpan/sources/authors/id/D/DM/DMEGG/SGMLSpm-1.03ii.tar.gz ok

Package comes with a Makefile and without a Makefile.PL.
We'll try to build it with that Makefile then.

  CPAN.pm: Building D/DM/DMEGG/SGMLSpm-1.03ii.tar.gz

Could not read metadata file. Falling back to other methods to determine prerequisites
if [ ! -d /usr/local/lib/perl5/SGMLS ]; then\
	  mkdir /usr/local/lib/perl5/SGMLS; \
	  chmod a+x /usr/local/lib/perl5/SGMLS; \
	fi
mkdir: /usr/local/lib/perl5: No such file or directory
chmod: /usr/local/lib/perl5/SGMLS: No such file or directory
make: *** [/usr/local/lib/perl5/SGMLS] Error 1
  DMEGG/SGMLSpm-1.03ii.tar.gz
  /usr/bin/make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

/usr/local/lib/perl5 ディレクトリがなくてエラーになるらしい。自分はperlをインストールすることで解決したはず。

Perlのダウンロード

wget http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz
tar zxvf perl-5.20.0.tar.gz

Perlのインストー

cd perl-5.18.0
./configure.gnu --prefix=/usr/local/perl5
make
make test
make install

解決のキモとしては、prefixを/usr/local/perl5にしたことだろうか?

あとは

./Build installdeps

をするか、

$ cpan
cpan> install SGMLS

をすればSGMLSをインストールできる。

でも、もしかしたらmkdir /usr/local/lib/perl5だけで解決したかもしれない。

あとは

./Build install

を実行すると、po4a-gettextizeをインストールすることができる。

終わりに

インストールは成功したけど、po4a-gettextizeの使い方を把握できていない。なのでここを見る。

Man page of PO4A-GETTEXTIZE