データ処理ユーティリティDコマンド : D-2.5(unixパッケージ)

[ 英語 | 日本語 ]

Dとは何か? -> D 簡介参照。

このリリースの情報は? Release Note参照。

インストール方法は? -> インストール方法参照。

インストール方法

1. Installコマンドの実行

ともかく、現在のディレクトリで

./install

を実行する。 ファイルをシステムディレクトリにインストールするには root権限が必要になる。前もって、

su

を行っておく。Mac OS Xあるいは、sudoコマンドのあるOSであれば、

sudo ./install

を行ってもよい。

インストーラは、コンパイル済み実行ファイル、またはmakeした実行ファイル をシステムの環境でテストし、実行ファイル、HTMLマニュアルおよびアンインストーラを どこにインストールするか訊いてくる。 ディレクトリ名を答えるか、デフォルトでよければ何も入れずにリターン。 インストーラは、これらのディレクトリに書き込み可能かを調べ、 必要なファイルをコピーして正常終了メッセージを出す。 正常終了すれば、8. PATHの設定に進んでよい。

上記のように進むのはすべてがうまくいった場合である。 次の表は、インストールができない場合のメッセージと対処を示す。

表1. ./install の途中終了
メッセージ状況参照
can't create platform directory platform. カレントディレクトリに書き込めない! 5. install の途中終了
Pre-built binary is not available for platform.
You need make.
このシステム用のコンパイル済み実行ファイルは用意されていない。 実行ファイルをmakeする必要がある。 5. install の途中終了
Binary files are not yet made.
Please accomplish make first and re-run installer.
platform/binディレクトリ中に実行ファイルが ない、または欠けている。 5. install の途中終了
Pre-built binaries can not work on your system. コンパイル済み実行ファイルがこのシステム環境で動かない。 3. 手動設定
Compiled binaries can not work on your system. 通常はおこらない。 5. install の途中終了
Pre-built DfromHtml DfromXml can not work on your system. DfromHtml、DfromXmlのコンパイル済み実行ファイルがこのシステム環境で動かない。 5. install の途中終了
Compiled DfromHtml DfromXml can not work on your system. MakeしたDfromHtml、DfromXmlがこのシステム環境で動かない。環境の チューニングが必要。 5. install の途中終了
2. このパッケージについて

このパッケージには、基本的に34の実行ファイル、4つのコマンドスクリプト、 2x43+1のHTMLマニュアル、66のソースファイル、makeのためのいくつかのリソース、 インストーラおよびいくつかのドキュメントが含まれている。 実行ファイルとmakeのためのリソースはプラットフォーム依存で、 プラットフォーム名のディレクトリ中に入っている。

表2. このパッケージの内容
ファイル/ディレクトリ 説明
License.txt ライセンス情報
README-jpn.html このファイル
README.html このファイルの英語版
ReleaseNote-jpn.html リリースノート
ReleaseNote.html リリースノート英語版
bin.sh/ コマンドスクリプト
generic/ Makefileとconfig.hのプロトタイプ
html/ HTMLマニュアル
install インストーラ
linux/ コンパイル済み実行ファイルとmake用リソース
macosx/ コンパイル済み実行ファイルとmake用リソース
solaris-sparc/ コンパイル済み実行ファイルとmake用リソース
solaris-i386/ コンパイル済み実行ファイルとmake用リソース
src/ ソースファイル

インストーラは次のことを行う:

3. 手動設定

このパッケージにはconfigureスクリプトが ないため手動で設定する必要がある。

まず、自分のプラットフォーム用ディレクトリを見つけること。 プラットフォームが表2にないなる、 カレントディレクトリ中に自分のプラットフォーム用ディレクトリができているはずである。 これは、最初の./installの実行時に作成されている。 プラットフォーム名がわからない場合、uname -sコマンドで、 出てくる文字列がプラットフォーム名のはずである。

プラットフォーム用ディレクトリには、少なくともconfig.hMakefileが入っている。 この2つのファイルを環境に合わせて編集する必要がある。 どちらにもコメントが入っているので、参考にする。

config.hでは、該当するマクロの#undef#defineにする。マクロによってはしかるべき値を設定する。 このためには、doubleタイプの整列要求や、いくつかのAPI ( たとえばfgetwc)が使えるかどうか、またシステムの 内部コードがUCSであるかどうかを知らなければならない。 このためにはC言語の知識が必要となる。 とはいえ、設定可能な部分はそれほど多くはなく、 その大半は、わかりやすい。 また、他のプラットフォームのconfig.hを参考にしてもよい。

Makefileではlibxml2libiconv がどこにあるかを指定しなければならないかもしれない。 これらのライブラリは、システムにインストールされていないこともある。 その場合、DfromHtmlとDfromXmlをあきらめるか、 これらのライブラリをインストールするか、 判断しなければならない。 この2つのDコマンドをあきらめるには、Makefile中の ALL = $(NONXMLBINS) $(XMLBINS)ALL = $(NONXMLBINS)に変える。 ライブラリをインストールするには、 7. システムのアップグレードとコンポーネントのインストール を参照せよ。

libxml2のヘッダファイルが/usr/include/libxml/に ある場合、マクロXINCLUDEを設定し直さなくてもよい。 しかし、たとえばlibxml2のヘッダファイルが /usr/local/include/libxml/にある場合、 XINCLUDE = /usr/local/includeと設定する必要がある。 (これが、標準のインクルードパスになっていないと仮定している)。 同様にlibiconvは、iconv.hを必要とする。 これが標準のインクルードパス(/usr/include)に入っていない場合、 入っているディレクトリをXINCLUDEに定義する必要がある。

リンカ用にはlibxml2.alibiconv.aが必要である。 これらは、通常標準のライブラリパス(/usr/lib)にある。 そうでない場合には、XLIBD =でそのディレクトリを指定する必要がある。 CCコマンドでのオプション-lxml2 -liconv は、これら2つのライブラリをリンクするために通常必要であるが、 もし、これでリンクできない場合XLIBS =の設定を変える必要が あるかもしれない。

BVSLVSマクロはオプションである。 これらのマクロは--version出力だけに使われる。 使用する場合、Makefile中のコメントアウトされた例にしたがって指定し、 #をはずす。

config.hMakefileの設定をすべて終えた後、 4. makeを行うことができる。

4. make

プラットフォームディレクトリで

make

コマンドを実行する。 makeコマンドが正常に終了すれば、もう一度 1. Installコマンドの実行を行なう。 ただし、その前にcd ..コマンドによって メインディレクトリに戻っておいた方がよいだろう。

makeが正常に終了しない理由は多々あって、 すべてを尽くすことはできない。 よくある理由は 6. makeの途中終了に示してある。 いずれにしても、makeを正常終了させるまで 3. 手動設定4. makeを繰り返すこと。

5. install の途中終了
can't create platform directory platform.
このパッケージをダウンロードしたときと同じユーザアカウントで実行していれば、 これはおこらない。また、root権限で実行していれば普通はおこらない。 もっともありそうなのは、rootで(suして)実行していて、カレントディレクトリ がNFSマウントされている場合である。 この場合、NFSサーバがroorマウントを許可していない限り、 書き込み権限がない。このパッケージをローカルマウントしたボリュームに 移すことが勧められる。
Pre-built binaries can not work on your system.
これがおこるのは通常、システムが古くライブラリのバージョンが必要なものより 古い場合である。 7. システムのアップグレードとコンポーネントのインストール を参照して、システムをアップグレードするのがよい。
Pre-built binary is not available for platform.
  You need make.
このパッケージでは、コンパイル済み実行ファイルはlinuxとsolarisのみサポートしている。 他のプラットフォームでは、makeを使用して実行ファイルを作成 しなければならない。 3. 手動設定参照。
Binary files are not yet made.
  Please accomplish make first and re-run installer.

platform/binディレクトリに実行ファイルがそろっていない。 4. makeを行なっていないということはないか、確認すること。 もし、makeを行ったのであれば、プラットフォームディレクトリを間違えていないか 確認すること。 3. 手動設定の節にあるプラットフォームディレクトリ の確認方法を参照。

さらに考えられるのは、makeが途中終了している場合である。 makeのメッセージを調べて6. makeの途中終了 を参照すること。

Pre-built DfromHtml DfromXml can not work on your system.

他のコンパイル済み実行ファイルは動作しているのであるから、 システムにlibxml2がインストールされていない可能性が大きい。 もう一つの可能性は、libxml2.soがデフォルトのライブラリパス に入っていないことである。

libxml2がインストールされているかどうかをチェックする方法には いくつかあるが、

find /usr -name libxml2.so

が最も広く通用する方法であろう。 (プラットフォームによっては、/usrに加えて、/opt など、ライブラリの入っている可能性のあるティレクトリをすべて調べる方がよい)。 findコマンドは見つかればそのパス名をプリントする。見つからなければ 何も出力しない。 libxml2.soが見つからなければ、インストールする必要がある。 7. システムのアップグレードとコンポーネントのインストール参照。

もし、libxml2.soが見つかったら、そのディレクトリを LD_LIBRARY_PATHに加える、 またはldコマンドのマニュアルを参照してこのライブラリを使用できるように すること。

Compiled binaries can not work on your system.
著者にメールをください。
Compiled DfromHtml DfromXml can not work on your system.
もっともありそうなのはlibxml2.soがデフォルトのライブラリパスに 入っていないことである。普通、LD_LIBRARY_PATHにそのディレクトリを加える ことで解決する。
6. makeの途中終了

ここでは典型的なケースだけを説明する。

インクルードファイルが見つからない。
エラーメッセージはコンパイラによって異なるが、XXX.h: No such file or directoryなどである。 見つからないインクルードファイルがlibxmlまたはlibiconv に関係したものであれば、MakefileXINCLUDEの定義を チェックすること。 そうでなければ、libcが古いバージョンであるか、 libxml2libiconvがインストールされていない という可能性が大きい。 7. システムのアップグレードとコンポーネントのインストール参照。
ライブラリ関数が見つからない。

典型的なエラーメッセージはundefined reference to XXXである。 MakefileXLIBDまたはXLIBSに しかるべき値をセットしていないことが考えられる。 あるいはALIBSが必要な場合もある。

他の可能性は、config.hを編集することによって これを回避できることである。 たとえば、CANT_USE_FGETWCを#defineすることによって fgetwc()の使用を回避できる。 3. 手動設定参照。

7. システムのアップグレードとコンポーネントのインストール

もしあれば、システムのパッケージマネージャを使用すること。 linuxの諸ディストリビューションにはrpmyumdpkgapt, aptitude, synaptic... など多くのパッケージマネージャ類がある。

Dコマンドに基本的に必要なのは、 I18N(Internationalization) 機能を持ったlibc、 libm(Dl用)、libiconv、および libxml2(DfromHtml、DfromXml用)である。 Libcおよびlibmは基本システムの一部であり、 libxml2とlibiconvきわめてポピュラーなコンポーネントであるから、 これらのコンポーネントを見つけてインストール/アップグレードすることは 容易である。

8. PATHの設定

./installコマンドの終了メッセージにしたがって、 PATH環境変数をセットする。 通常、PATH 環境変数は、.profile.cshrc.bashrcなどのshell開始スクリプトで設定する。 現在のPATHは

echo $PATH

で確認できる。

9. マニュアルエントリ(オプション)

Dのマニュアルエントリは、./installスクリプトの最後に 出力されている。これを、ブックマークに加えてもよい。 他にも、HTMLドキュメントにショートカットをつける方法は 数多くあり、どれを使ってもよい。

10. アンインストール

インストーラはD-2.5-uninstallスクリプトを作成する。 今スクリプトを実行することでD-2.5のアンインストールができる。.

ただし、アンインストールするのは、インストールした 実行ファイル、コマンドスクリプト、短縮名、および HTMLマニュアルだけであり、PATHやマニュアルエントリはそのまま残るので、 手動で削除する必要がある。