[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

/etc/ld.so.confの設定について(wasRe:初めまして)



Subjectを変更させていただきました。

In message <20020530165727.BC00.TETUYA@rite.or.jp>
	on Thu, 30 May 2002 17:17:15 +0900,
	Tetsuya Saito <Tetsuya.Saito@rite.or.jp> wrote:
> 斉藤@RITEと申します。
> 最近、NetBSD(i386)1.5.2を使い始めたばかりの初心者です
> 
> 今までは、FreeBSDを使用していたのですが、NetBSDにも興味がわいてきまして、
> 色々と勉強をしております。
ようこそ、いらっしゃいませ。:-)

> [質問事項]
前後させます。

> 2./etc/ld.so.confに対して、下記の項目を追加しldconfigを実行しました。
> 実行後ldconfig -rでsearch directoryを確認したのですが、/etc/ld.so.confの
> 内容と違っております。(/usr/local/ssl/libのみがsearch directoryより抜け
> ています)
...
> 3.ldconfigのhint file(/var/run/ld.so.hint)をrenameし/etc/ld.so.confから
> 上記の設定を削除し端末をrebootしてから、ldconfig -rを実行したところ、下
> 記のような結果となってしまいました。
> 私か考えるには、search directoryは空でないといけないのではないでしょうか?
NetBSD 1.5.Xは、ELFの実行形式を使用しています。ldconfig(8)はa.outの実
行形式のプログラムのために存在していて、NetBSD 1.4までのa.outの共有ラ
イブラリのためにあると言って良いでしょう。

NetBSDでのELFの実装では、ldconfig(8)は不要です。共有ライブラリのパスは、
プログラムの作成時に埋め込むようにします。まだ、日本語はないかもしれま
せんが、

	http://www.jp.netbsd.org/Documentation/elf.html

あたりに解説されています。

簡単に言えば、ELFの実行形式のNetBSDでは、/etc/ld.so.confに斉藤さんの書
かれた様な「共有ライブラリを探して欲しいディレクトリ」を書く必要はあり
ません。

> 1./etc/ld.so.conf中にdefaultで記載されている、下記の項目は削除しても良い
> のでしょうか?
> また、記載内容の意味はどのようなものなのでしょうか?
> [項目]
> libm.so.0	matchdep.fpu_present	1:libm387.so.0,libm.so.0
これについては、ld.so.conf(5)に書かれています。ELFの場合は上記のように
'/'で始まっていない行は、上記のような(おそらくNetBSD独自の)形式を
/usr/libexec/ld.elf.soが解釈します。

ちなみにこれは、浮動小数点のコプロセッサが存在していたら、コプロセッサ
を使用するlibm387.so.0を、そうでなければlibm.so.0のコプロセッサをエミュ
レートする数値演算ライブラリを使用するという意味になります。

i386系のCPUでは、i486(i486sxを除く)以降ではコプロセッサを内蔵していま
すから、上記の行を削除するとわざわざそれを使わない、遅い数値演算ライブ
ラリを使用することになってしまいます。おそらく、それは斉藤さんの望む結
果ではないと思います。:-)

--
神戸 隆博(かんべ たかひろ)		at 仕事場