ソースコード・リテラシーのススメ

第7回 英文ドキュメントをどう読むか[実践編]

この記事を読むのに必要な時間:およそ 6 分

INSTALLファイル

次に開いたのはINSTALLファイルです。ソフトウェアによっては,configureスクリプトの一般的な使い方を記したファイルを使い回していることもありますが,GIMP 2.4ではきちんとこのソフトウェア用の情報が書かれていました。

 Installation instructions for GIMP 2.4
 --------------------------------------
 
 There are some basic steps to building and installing GIMP.
 
 GIMP 2.4 replaces earlier GIMP 2.x versions. It is advised that you
 uninstall them before installing GIMP 2.4. If you want to keep your
 older GIMP 2.x installation in parallel to GIMP 2.4, you have to
 ...

この文書も最初に過去のバージョンを削除するべきことが書かれています。READMEだけでなく,INSTALLでも同じことを述べているのはそれけハマりやすい点なのだな,と考えて,旧バージョンのアンインストールの必要性を心に留めつつ読み進めると,*(アスタリスク)で強調された部分が目につきました。

   ******************************************************************
   * Unless you are experienced with building software from source, *
   * you should not attempt to build all these libraries yourself!  *
  ....

このような部分は著者がとくに注意を喚起したいと思って書いているので,じっくりと読んでみましたが,一般ユーザは,よほど手慣れた人以外は自分でライブラリを作らず,ディストリビュータ製のライブラリを使うべきだ,といった内容でした。

この先は箇条書きになっていることに気づきましたので,各項目の先頭行をつまみ読みで読み進めていきました。

   1. You need to have installed a recent version of pkg-config available
   ...
   2. You need to have installed GTK+ version 2.10.13 or newer.  GIMP
   ...
   3. We require PangoFT2, a Pango backend that uses FreeType2. Make
   ...

ざっと見,GIMP 2.4が要求するソフトウェアの列挙のようです。これらソフトウェアのバージョンはconfigureスクリプトを動かせば自動的にチェックしてくれるはずなので,いろんなソフトウェアが必要なんだな,程度の認識で読み飛していきました。

この先には

 Generic instructions for configuring and compiling auto-configured
 packages are included below. Here is an illustration of commands that
 ...

   % tar xvfz gimp-2.4.x.tar.gz   # unpack the sources
   % cd gimp-2.4.x                # change to the toplevel directory
   % ./configure                  # run the `configure' script
  ...

といった実際の手順を記した部分がありましたが,これも一般的な手順なので詳しく読む必要はないだろうと判断して先に進みます。

 The `configure' script examines your system, and adapts GIMP to run on
 it. The script has many options, some of which are described in the
 ...

このあたりからconfigureスクリプトの実際の操作方法を記しているようなので,少し読むペースを落して丁寧に読むことにしました。

   --enable-shared and --disable-shared.  This option affects whether
      shared libraries will be built or not. Shared libraries provide
   ...

これらはconfigureを実行する際に指定可能なオプションの列挙で,./configure --help を実行すれば同等の情報は表示されるはずですが,何か見慣れないオプション指定でもないかとそれぞれの項目の見出しを中心に眺めていきました。

ディストリビュータという立場上,過去の経験から,何が一般的なオプションで何がこのソフトウェアに独自のオプションかの区別は,ほぼ指定する引数で判断がつくので,一般的な引数の部分はとばして,他では見たことのない引数の部分のみを読んで行きました。たとえば次のような引数は他のソフトウェアでは見た記憶がありません。

   --enable-binreloc.  When compiled for Linux with this option enabled,
      GIMP will be binary relocatable.  Plug-ins and data files will
  ...

説明の中にLinuxという単語があるので丁寧に読んでみたところ,Linux上でGIMPをコンパイルする際にこのオプションを指定すると,GIMPがリロケータブルになる,という機能のようです。どういう用途に使う機能かはわかりませんが,とりあえずは指定しなくても大丈夫そうだなと判断して先に進みます。

   --with-sendmail=[PATH]. This option is used to tell GIMP where to find
  ...

うーむ…,最近のGIMPはsendmailも必要になっているのか,…と感心し(あきれ)つつ,読み進めていきます。

いわゆる software bloat(ソフトウェア肥大)の例として,「バークレーで開発されたあらゆるソフトウェアはメールの読み書きができるようになるまで肥大する」という話を思い出してニヤリとしました。

 The `make' command builds several things:
  - A bunch of public libraries in the directories starting with 'libgimp'.
  - The plug-in programs in the 'plug-ins' directory.
 ...

このあたりからmakeを実行した時の動作の説明になっているようなので,列挙されている項目をざっと見てみましたが,ディレクトリ構造の簡単な説明程度のようなので,あまり気に止めず先に進みます。

 When ./configure fails
 ======================
 
 'configure' uses pkg-config, a tool that replaces the old foo-config
 ...

このあたりからはconfigureスクリプトがエラーになった際の対応方法が書かれているようです。最初に pkg-config が無かった際の入手先があり,次にGTK+ が見つからなかった際の対処方法などが書かれています。この部分は,実際にconfigureを走らせて,解決できないエラーが発生した際にでも詳しく読めばいいだろうと判断して,ざっと最後まで眺めて INSTALLファイルは読み終えました。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたのが,いつの間にかミイラ取りがミイラになってOSSを仕事にするようになってしまいました。最近はスペシャリスト養成を目的とした専門職大学院で教壇に立ったりもしています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html