2016-06-21 6 views
5

https://docs.oracle.com/cd/E36784_01/html/E36873/librt-3lib.htmlGHC 7.10.2でビルドされた実行ファイルがlibrtとlibcの両方に依存するのはなぜですか?

歴史によると、このライブラリの関数はPOSIX.1bリアルタイム拡張で指定 インターフェースの多くを提供しました。 標準(5)を参照してください。この機能は現在libc(3LIB)にあります。

このライブラリは、 ランタイムとコンパイル環境の両方に下位互換性を提供するために維持されています。共有オブジェクトは、libc.so.1のフィルタとして に実装されています。新しいアプリケーションの開発では、 -lrtを指定する必要はありません。

現在のところ、librtに含まれるすべてのものを含む必要があるlibcにのみリンクする必要があります。同じことがlibcに含まれているlibdlの依存関係です。

答えて

5

これはTraC#8713で発生しました.というパッチが含まれており、GHCランタイムシステムからlibrtの要件が削除されています。 (ランタイムシステムはlibrtを引っ張っている)残念なことに、議論が進行していたときに、パッチがSolaris 10または11でGHCを破ったように見えた。そして、人々はちょうど開いた - ソースプロジェクト。たぶん、彼女の手に自由時間とバーチャルマシンの束を持っている人が来て、それらのパッチを修正するでしょう。

+0

ありがとうございます!私はTracに書いた。 –

関連する問題