2013-10-08 1 views
5

Est-il un standard d'avoir seulement des bibliothèques dynamiques sans la plupart du temps sans leur version statique? Je suis particulièrement intéressé par la bibliothèque de mathématiques. Dans mon fedora 17 (machine linux sur processeur Intel 32), j'ai le dernier gcc et il a libm-2.15.so et le fichier de lien symbolique libm.so mais il n'y a pas libm.a.pourquoi il n'y a pas de bibliothèque statique pour les fonctions mathématiques?

Est-ce que libm.a manque sur mon système?

+3

Ceci est susceptible d'être très spécifique à votre distrubtion, mais mon ubuntu 13.04 a libm.a situé dans /usr/lib/x86_64-linux-gnu/libm.a. Avez-vous regardé correctement dans tous les endroits possibile libs peuvent être stockés? – goji

+0

@Troy J'ai fait une recherche à la racine pour libm.a mais pas de chance. existe-t-il un autre moyen de vérifier sa présence sur mon système? J'utilise Fedora 17. – KawaiKx

+3

Avez-vous installé les bibliothèques statiques? 'yum install glibc-static' – SheetJS

Répondre

11

Installez les bibliothèques statiques:

# yum install glibc-static 
0

généralement .somand .a existent en même temps, mais dll vient en premier.

peut-être la bibliothèque statique est manquante, vous pouvez essayer la commande yum comme nirk dit.

0

Vous demandez:

Est-ce une norme pour avoir seulement les bibliothèques dynamiques surtout sans leur version statique?

Dans Fedora, il est en effet standard de ne conditionner que les bibliothèques dynamiques. À partir des :

Les packages, y compris les bibliothèques, doivent exclure autant que possible les bibliothèques statiques (par exemple, en configurant avec --disable-static). Les bibliothèques statiques ne doivent être incluses que dans des circonstances exceptionnelles. Les applications qui se lient aux bibliothèques doivent, autant que possible, être liées aux bibliothèques partagées et non aux versions statiques.

et plus tard,

En général, emballeurs sont fortement encouragés à ne pas expédier libs statiques à moins qu'une raison impérieuse existe.

... qui poursuit en disant que, quand une telle bibliothèque est empaqueté, il devrait être dans un paquet séparé avec le suffixe -static, comme dans ce cas glibc-static.

Questions connexes