2005/10/05
gd を使用した、簡単な画像作成プログラムを作らせた。
うちの社内のサーバは、基本的に余分なライブラリはインストールしていない。
プロジェクトによって、使用するライブラリのバージョンが異なる事があるので、ライブラリによっては、個々にライブラリをインストールしている。
また、社員には、サーバの管理権限(rootのパスワード)を渡していないので、自身の権限でインストールできるディレクトリにインストールしなければならない。
今回は gd を使用するが、gd を使用するためには、少なくとも、libpng、libjpeg、zlib くらいは必要であろう。
また、perl から使用するので、GD.pm なども必要である。
自分のホームディレクトリ配下でコンパイル、インストールを行う事になるが、インストールした後のディレクトリを見てみると…。
-----
~/lib/perl5/5.8.0/gdpm/GD.pm
~/lib/perl5/5.8.0/gdpm/Polyline.pm
~/lib/perl5/5.8.0/gdpm/Image.pm
~/lib/perl5/5.8.0/libpng-1.2.8/lib/libpng.so
~/lib/perl5/5.8.0/GD/lib/libgd.so
~/lib/perl5/5.8.0/zlib-1.2.3/lib/libz.so
:
-----
なんだこのディレクトリ構成は?
どうして、perl 5.8.0 のディレクトリの配下に libping.so、libgd.so、libz.so が置いてあるんだ?
どうして、ライブラリ群が個々のディレクトリの lib に分けて入っているんだ?
社員は、/usr/lib や /usr/local/lib の配下を見たことがないのだろうか?
それらのディレクトリが、どのように構成されていて、なぜそうなっているのか、まったく考えなた事がないのだろうか?
こんなディレクトリ構成では、configure や Makefile.PL が共有ライブラリを見つけられないだろう。
こんなディレクトリ構成では、リンクする時に、共有ライブラリのパスの指定に、死ぬほど苦労するだろう。
要するに、社員は、以下の事を知らない/わからないのである。
・「PREFIX」を指定するという事の意味。
・/usr/lib、/usr/local/lib などにインストールする時の流儀。
--prefix などでディレクトリを指定すると、UNIXでのインストールの流儀を踏まえて、コンパイル/インストールされる。
その流儀を知らないから、とんちんかんなディレクトリ構成になる。
ls、cd、mkdir などのコマンドが使えたところで、UNIXを理解した事にはならない。
セオリー、流儀を知らなければ、正しくシステムを構築する事はできないのである。
投稿者 zunbe : 2005/10/05 07:02:26
トラックバック
|
〔http://blog.zunbe.com/mt/mt-tb.cgi/27〕
|
|