血統の森+はてな

旧はてなダイアリーの自動インポートによるアーカイブです。

Imager::AnimeFaceをローカル鯖インストールメモ(未動作)

id:momdo:20090412:p1の続き

Imager::AnimeFaceのビルドと実行環境
http://d.hatena.ne.jp/ultraist/20090412/1239551743

Debian 5.0 (lenny,stable)でコンパイル確認。しかしdetect_and_draw.cgiが動かず。以下、自分の詰まったところなんかを含めて、コンパイルなりのメモ。

1. CLAPACKのインストール

もうこれはコンパイルをするのが面倒、というかいつもダウンロードしているので。

コンパイル済みのCLAPACKはこの辺から。
http://mist.suenaga.cse.nagoya-u.ac.jp/trac/wiki/HowToUseLapack

ヘッダファイルがいるので、CLAPACKのtar ballはどっちにせよ落としてこないといけない。メドイ。

2. nvxsのインストール

http://www.udp.jp/software/nvxs-1.0.tar.gz
を取ってきて、解凍して、中で
./configure --prefix=$PREFIX
make install
で終わりのはず…。

終わらない。というか、一番手こずった。
まずmakeが無いよという大ボケをカマしたのはdebianの最小インストールでは入ってこないからと言い訳するとして、当然gccとg++は必須。あとf77もいる。要はCLAPACKを使ってのコンパイルが通るか否かなのだけれども、

bashのパス設定とか忘れたよバーカバーカというわけで、コマンドラインからこんな感じに。

PREFIX=$PREFIX"/usr/local"&&export PREFIX;\
LD_RUN_PATH=$LD_RUN_PATH"/usr/local/lib"&&export LD_RUN_PATH; \
CFLAGS=$CFLAGS"-I/usr/local/include"&&export CFLAGS; \
LDFLAGS=$LDFLAGS"-L/usr/local/lib&&export LDFLAGS"

.bashrcに通してしまうときっとロクなことが起こらないと思ったので(実際とんでもないことになった)、一時的に通しておく。とりあえずローカル鯖なので/usr/local以下に。ありだと思うきっと。


gccのオプションスイッチ-ltmglibが通らないと怒られたのでhttp://www.netlib.org/netbuild/packages/tmglib/ia32-linux/から拾ってきた。

もしかしたらaptitude search lapackで引っかかるライブラリをぶち込めば解決したのかもしれない。

3. Imagerのインストール

CPANとか久しく動かした記憶がないぜ。

# perl -MCPAN -e shell

で適当に質問に答える。

cpan> install Imager

yamlとか無いよと怒られた気もするけど、そんなことは知らない。

4. Imager::AnimeFaceのインストール

2.ができればこれもできる。

5. httpd周り

筆者の頭を悩ませたのはここだ。apache2*1を入れるまではいいとして、/var/www/がルートとかすら忘れてたレベル。まず、cgiが丸見えワッショイなわけだ。

apatch2.confあたりに

AddHandler cgi-script .cgi .pl

でも追記しておく。sites-availables/defaultだったかも。

Options +ExecCGI 
AddType application/x-httpd-cgi .cgi .pl

だったっけ…apacheのマニュアルを読みましょう。

chmod +x [filename]

とかは覚えてたんだけどな。


で、必要なモジュールが読み込めない、まできた(前回の段階)。これは作者サイトにあるようにapacheの方で解決できる。

.confに追加。

SetEnv LD_LIBRARY_PATH /usr/local/lib
SetEnv PREFIX /usr/local

で、そっちはどうにかなったわけですが。

Software error:

Can't locate HTTP/Cache/Transparent.pm in @INC (@INC contains: /home/hoge/local/lib/perl5/site_perl/5.8.8/mach /home/hoge/local/lib/perl5/site_perl/5.8.8 /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /var/www/cgi/detect_and_draw.cgi line 18.
BEGIN failed--compilation aborted at /var/www/cgi/detect_and_draw.cgi line 18.

For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.

存在しないパスが記述。 ま た パ ス か

detect_and_draw.cgiの9行目に激しくオレオレなパスが通してあるので、とりあえずコメントアウト。キャッシュまわりもコメントアウト

えー文字列しか返ってこないんですけど。。。

*1:いい加減、もっと軽いデーモン使えよという気もするのですが(爆)