[ 英語 | 日本語 ]
ともかく、現在のディレクトリで
./install
を実行する。 ファイルをシステムディレクトリにインストールするには root権限が必要になる。前もって、
を行っておく。Mac OS Xあるいは、sudoコマンドのあるOSであれば、su
sudo ./install
を行ってもよい。
インストーラは、コンパイル済み実行ファイル、またはmakeした実行ファイル をシステムの環境でテストし、実行ファイル、HTMLマニュアルおよびアンインストーラを どこにインストールするか訊いてくる。 ディレクトリ名を答えるか、デフォルトでよければ何も入れずにリターン。 インストーラは、これらのディレクトリに書き込み可能かを調べ、 必要なファイルをコピーして正常終了メッセージを出す。 正常終了すれば、8. PATHの設定に進んでよい。
上記のように進むのはすべてがうまくいった場合である。 次の表は、インストールができない場合のメッセージと対処を示す。
メッセージ | 状況 | 参照 |
---|---|---|
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 の途中終了 |
このパッケージには、基本的に34の実行ファイル、4つのコマンドスクリプト、 2x43+1のHTMLマニュアル、66のソースファイル、makeのためのいくつかのリソース、 インストーラおよびいくつかのドキュメントが含まれている。 実行ファイルとmakeのためのリソースはプラットフォーム依存で、 プラットフォーム名のディレクトリ中に入っている。
ファイル/ディレクトリ | 説明 |
---|---|
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/ | ソースファイル |
インストーラは次のことを行う:
このパッケージにはconfigure
スクリプトが
ないため手動で設定する必要がある。
まず、自分のプラットフォーム用ディレクトリを見つけること。
プラットフォームが表2にないなる、
カレントディレクトリ中に自分のプラットフォーム用ディレクトリができているはずである。
これは、最初の./install
の実行時に作成されている。
プラットフォーム名がわからない場合、uname -s
コマンドで、
出てくる文字列がプラットフォーム名のはずである。
プラットフォーム用ディレクトリには、少なくともconfig.hと Makefileが入っている。 この2つのファイルを環境に合わせて編集する必要がある。 どちらにもコメントが入っているので、参考にする。
config.hでは、該当するマクロの#undef
を
#define
にする。マクロによってはしかるべき値を設定する。
このためには、double
タイプの整列要求や、いくつかのAPI
( たとえばfgetwc
)が使えるかどうか、またシステムの
内部コードがUCSであるかどうかを知らなければならない。
このためにはC言語の知識が必要となる。
とはいえ、設定可能な部分はそれほど多くはなく、
その大半は、わかりやすい。
また、他のプラットフォームのconfig.h
を参考にしてもよい。
Makefileではlibxml2
とlibiconv
がどこにあるかを指定しなければならないかもしれない。
これらのライブラリは、システムにインストールされていないこともある。
その場合、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.aと libiconv.aが必要である。
これらは、通常標準のライブラリパス(/usr/lib)にある。
そうでない場合には、XLIBD =でそのディレクトリを指定する必要がある。
CCコマンドでのオプション-lxml2 -liconv
は、これら2つのライブラリをリンクするために通常必要であるが、
もし、これでリンクできない場合XLIBS =の設定を変える必要が
あるかもしれない。
BVSとLVSマクロはオプションである。 これらのマクロは--version出力だけに使われる。 使用する場合、Makefile中のコメントアウトされた例にしたがって指定し、 #をはずす。
config.hとMakefileの設定をすべて終えた後、 4. makeを行うことができる。
プラットフォームディレクトリで
make
コマンドを実行する。
makeコマンドが正常に終了すれば、もう一度
1. Installコマンドの実行を行なう。
ただし、その前にcd ..
コマンドによって
メインディレクトリに戻っておいた方がよいだろう。
makeが正常に終了しない理由は多々あって、 すべてを尽くすことはできない。 よくある理由は 6. makeの途中終了に示してある。 いずれにしても、makeを正常終了させるまで 3. 手動設定と4. makeを繰り返すこと。
makeを使用して実行ファイルを作成 しなければならない。 3. 手動設定参照。
platform/binディレクトリに実行ファイルがそろっていない。 4. makeを行なっていないということはないか、確認すること。 もし、makeを行ったのであれば、プラットフォームディレクトリを間違えていないか 確認すること。 3. 手動設定の節にあるプラットフォームディレクトリ の確認方法を参照。
さらに考えられるのは、make
が途中終了している場合である。
makeのメッセージを調べて6. makeの途中終了
を参照すること。
他のコンパイル済み実行ファイルは動作しているのであるから、
システムにlibxml2
がインストールされていない可能性が大きい。
もう一つの可能性は、libxml2.so
がデフォルトのライブラリパス
に入っていないことである。
libxml2がインストールされているかどうかをチェックする方法には いくつかあるが、
find /usr -name libxml2.so
が最も広く通用する方法であろう。 (プラットフォームによっては、/usrに加えて、/opt など、ライブラリの入っている可能性のあるティレクトリをすべて調べる方がよい)。 findコマンドは見つかればそのパス名をプリントする。見つからなければ 何も出力しない。 libxml2.soが見つからなければ、インストールする必要がある。 7. システムのアップグレードとコンポーネントのインストール参照。
もし、libxml2.soが見つかったら、そのディレクトリを LD_LIBRARY_PATHに加える、 またはldコマンドのマニュアルを参照してこのライブラリを使用できるように すること。
ここでは典型的なケースだけを説明する。
XXX.h: No such file or directoryなどである。 見つからないインクルードファイルがlibxmlまたはlibiconv に関係したものであれば、MakefileのXINCLUDEの定義を チェックすること。 そうでなければ、
libcが古いバージョンであるか、
libxml2や
libiconvがインストールされていない という可能性が大きい。 7. システムのアップグレードとコンポーネントのインストール参照。
典型的なエラーメッセージはundefined reference to XXX
である。
MakefileでXLIBDまたはXLIBSに
しかるべき値をセットしていないことが考えられる。
あるいはALIBSが必要な場合もある。
他の可能性は、config.h
を編集することによって
これを回避できることである。
たとえば、CANT_USE_FGETWCを#defineすることによって
fgetwc()の使用を回避できる。
3. 手動設定参照。
もしあれば、システムのパッケージマネージャを使用すること。 linuxの諸ディストリビューションにはrpm、yum、 dpkg、apt, aptitude, synaptic... など多くのパッケージマネージャ類がある。
Dコマンドに基本的に必要なのは、 I18N(Internationalization) 機能を持ったlibc、 libm(Dl用)、libiconv、および libxml2(DfromHtml、DfromXml用)である。 Libcおよびlibmは基本システムの一部であり、 libxml2とlibiconvきわめてポピュラーなコンポーネントであるから、 これらのコンポーネントを見つけてインストール/アップグレードすることは 容易である。
./installコマンドの終了メッセージにしたがって、
PATH環境変数をセットする。
通常、PATH 環境変数は、.profile
、.cshrc
、
.bashrc
などのshell開始スクリプトで設定する。
現在のPATHは
echo $PATH
で確認できる。
Dのマニュアルエントリは、./installスクリプトの最後に 出力されている。これを、ブックマークに加えてもよい。 他にも、HTMLドキュメントにショートカットをつける方法は 数多くあり、どれを使ってもよい。
インストーラはD-2.5-uninstallスクリプトを作成する。 今スクリプトを実行することでD-2.5のアンインストールができる。.
ただし、アンインストールするのは、インストールした 実行ファイル、コマンドスクリプト、短縮名、および HTMLマニュアルだけであり、PATHやマニュアルエントリはそのまま残るので、 手動で削除する必要がある。