いまさらながらGD::Graphインストールメモ

GD::Graphをインストールする ( 正味 30分 )
Perlで画像を生成するモジュールは知っていたもののあまりつかったことが
なかったので、遊びがてら使ってみる
その再のインストールメモ

1.いきなりGD::Graph を CPANモジュールでインストールするも
ことごとく失敗(当然か)

>perl -MGD::Graph -e 'install GD::Graph';

モジュール内部をC(SWIGとか)で書いているモジュールなどは
たいがいインターネット越しのインストールは失敗するもんだ

2.tarボールを落としてきてインストールするもまたしても失敗

>perl MakePerl.PL
>make && make install && echo done

しょうがないのでREADEMEを読んでみる
  ( 最初に読むのが正しい手順。良いこのみんなは真似をしないようにね )

>Requirements:

> perl 5.6.0
> GD >= 1.19 (recommended >= 1.23)
> GD::Text::Align (part of the GDTextUtils package)

と書かれているので GDモジュール と GD::Text::Align が必要

3.GDモジュール & GD::Text::Align のインストール

CPAN から GD と GD::Text::Align を落としてくる

GDをインストールするもエラーでインストールできず

>perl MakePerl.PL && make && make install

README を見ると
>Use GD 1.41 for libgd versions 1.8.4 and lower.
とのことなので libgd( gd ライブラリー)が必要らしい
それぐらいのもんはデフォルトで入っていると思ったがみあたらず。

しょうがないので

http://www.boutell.com/gd/ から ソースをダウンロードし
コンパイル

> ./configure && make && make install

再度、GDモジュール & GD::Text::Alignインストール

インストールOK

4. 再度、GD::Graphのインストール

正常にインストール完了

そして、テストコード書いてみる
こんな感じ(リモートからLinux上で書いているのでファイルに出力するのではなく、ブラウザで確認できるよう標準出力にアウトしCGIとして実行)

#!/usr/bin/perl

use GD::Graph::bars;

my $graph = GD::Graph::bars->new( 800, 600 );

$graph->set( title => "Rainfall 2002/2003",
y_label => "Millimetres" );

my $image = $graph->plot( [
[ qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
) ],
[ qw( 17 19 26 38 56 64 67 53 40 29 21 13 ) ],
[ qw( 19 24 27 41 56 69 75 60 44 33 22 15 ) ]
]
) or die ( "Can't create image" );

print "Content-type: image/png\n\n";

binmode STDOUT;

print $image->png();