1.2 問題の実装
以下の問題は,再利用可能なあらゆる共有ライブラリシステム,特にlibtool
で解決する必要があります.
-
パッケージのインストーラで,ビルドされるライブラリの種類を制御可能にす
べきです.
-
インストールされていないライブラリとダイナミックにリンクされるプログラ
ムの実行を巧妙に行うことを可能にします.
LD_LIBRARY_PATH
が(サポー
トしている場合は)正しく設定されている必要があり,そうでなければプログ
ラムの実行に失敗するでしょう.
-
システムは,共有ライブラリをサポートしていないホストでさえ,堅実に処理
する必要があります.
-
共有ライブラリをビルドするときに必要なコマンドは,ホストごとに大きく異
なる可能性があります.これらは,コンフィグレーション時に一定の方法で決
定する必要があります.
-
インストールされる共有ライブラリの接尾子が常に明確なわけではありません.
通常,ファイル名はホストごとに同じだということを仮定されるので,
Makefile規則が難しくなります.
-
共有ライブラリをその場でアップグレード可能なように,システムは,単純な
ライブラリバージョンナンバーの抽象化が必要です.バイナリ互換を最大にす
るため,ライブラリへのインターフェースの設計方法を,プログラマに伝える
べきです.
-
インストールするMakefileターゲットは,パッケージインストーラに
特定の環境変数(
LD_LIBRARY_PATH
または同等のもの)を設定したり,
ldconfig
を実行するよう,警告する必要があります.