2016-06-21 5 views
5

Nach https://docs.oracle.com/cd/E36784_01/html/E36873/librt-3lib.htmlWarum Executables mit GHC gebaut 7.10.2 Abhängigkeiten sowohl mit librt und libc?

Historisch Funktionen in dieser Bibliothek zur Verfügung gestellt viele der Schnittstellen durch die POSIX.1b Echtzeiterweiterung angegeben. Siehe Standards (5). Diese Funktionalität befindet sich jetzt in libc (3LIB).

Diese Bibliothek beibehalten die Rückwärtskompatibilität für beide Laufzeit- und Kompilierung Umgebungen. Das gemeinsame Objekt wird als Filter auf libc.so.1 umgesetzt. Neue Anwendungsentwicklung muss -lrt nicht angeben.

Also sollte es derzeit nur zu libc verbinden, die alles in librt enthalten sollte. Das Gleiche gilt für die libdl-Abhängigkeit, die in libc enthalten ist.

Antwort

5

Dies wurde (vor zwei Jahren!) In TraC#8713 ausgelöst, die einen Patch ghc-libs.patch enthält, der die librt Anforderung aus dem GHC-Laufzeitsystem entfernt. (Das Runtime-System ist das, was in librt zieht.) Leider an der Zeit, die Diskussion ging es schien, dass der Patch brach GHC auf Solaris 10 oder 11. Und dann werden die Menschen trieb nur aus dem Ticket entfernt, wie es oft geschieht so weiter offen -Quellenprojekte. Vielleicht kommt jemand mit einer Menge Freizeit und virtuellen Maschinen an ihren Händen vorbei und repariert diese Patches.

+0

Dank! Ich schrieb an Trac. –