2016-06-21 13 views
5

Secondo https://docs.oracle.com/cd/E36784_01/html/E36873/librt-3lib.htmlPerché gli eseguibili creati con GHC 7.10.2 hanno dipendenze sia con librt che con libc?

Storicamente, funzioni della libreria fornito molte delle interfacce specificate da POSIX.1b tempo reale estensione. Vedi gli standard (5). Questa funzionalità ora risiede in libc (3LIB).

Questa libreria viene mantenuta per garantire la compatibilità con le versioni precedenti per gli ambienti di runtime e di compilazione . L'oggetto condiviso è implementato come filtro su libc.so.1. Lo sviluppo di nuove applicazioni non deve specificare -lrt.

Così attualmente dovrebbe collegarsi solo a libc che dovrebbe avere tutto contenuto in librt. Lo stesso è per la dipendenza libdl che è contenuta in libc.

risposta

5

Questo è stato sollevato (due anni fa!) In TraC#8713, che include una patch ghc-libs.patch che rimuove il requisito librt dal sistema di runtime di GHC. (Il sistema di runtime è quello che sta tirando in librt.) Sfortunatamente, nel momento in cui la discussione stava andando sembrava che la patch rompesse GHC su Solaris 10 o 11. E poi le persone si allontanavano dal biglietto come spesso accade su open -progetti di risorse. Forse qualcuno con un po 'di tempo libero e macchine virtuali sulle sue mani arriverà e sistemerà quelle patch.

+0

Grazie! Ho scritto a Trac. –

Problemi correlati