いまさらながら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();