リンカーとライブラリ

環境変数

リンカーは、たとえば LD_LIBRARY_PATH など、LD_ から始まる環境変数を多数サポートしています。これらの環境変数は、この汎用形式でも使用できますが、_32 または _64 を接尾辞として指定することもできます (LD_LIBRARY_PATH_64 など)。この接尾辞は、環境変数をそれぞれ 32 ビットまたは 64 ビットプロセス固有のものにします。またこの接尾辞は、接尾辞の付いていない汎用形式の環境変数が有効な場合でも、それに優先します。


注 –

Solaris 10 よりも前のリリースでは、リンカーは値なしで指定された環境変数を無視していました。したがって、次の例では、汎用環境変数設定である /opt/lib が 32 ビットアプリケーション prog の依存関係の検索に使われていました。


$ LD_LIBRARY_PATH=/opt/lib  LD_LIBRARY_PATH_32=  prog

Solaris 10 リリースでは、接尾辞 _32 または _64 を持つ、値なしで指定された環境変数も処理されるようになりました。これらの環境変数は、関連する汎用環境変数設定を事実上取り消します。このため、前の例で、32 ビットアプリケーション prog の依存関係を検索するために、/opt/lib が使われることはありません。


このマニュアルでは、リンカーの環境変数を記述する場合は、接尾辞の付いていない汎用形式を使用します。サポートされているすべての環境変数は、ld(1) および ld.so.1(1) に定義されています。