5

静的ビルドに共有ライブラリが必要なのはなぜですか?

リンカーからこれらの警告が頻繁に表示されます...(現時点ではopenssh-5.2p1で発生しています)

警告は次のようになります。

Google で検索すると、理由ではなく修正のみが表示されます。

ありがとう、チェンツ

4

1 に答える 1

5

共有ライブラリ自体は必要ありません。静的にglibcにリンクすると、いくつかのことが正しく機能しない可能性があることを警告するだけです。

それらのいくつかはnsswitchです。たとえば、を参照してください/etc/nsswitch.conf。システムでは、ユーザー/グループ/ホスト名を検索するさまざまな方法や、プラグインを介して他のものを構成および変更できます。たとえば、sambaには、Windowsドメインで構成されたユーザーを管理するためのモジュールが付属しています。 ActiveDirectoryを透過的に。

/etc/nsswitch.confglibcに静的にリンクする場合、アプリはカスタマイズを尊重しません。などgethostbynameの関数getpwuidは、デフォルトの検索方法を使用するだけです。

同じことが、たとえば、アプリがdlopen()sglibcなどにフックするために何らかの理由でそれを使用する可能性がある他のライブラリにも当てはまります。

も参照してください

有害と考えられる静的リンク

于 2009-07-07T15:21:13.447 に答える