Rpm devel

mathieu -  
saga9 Messages postés 5912 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour, je débute sous linux!...
jai vu kil y avait deux sortes de RPM:
les RPM standards net les RPM devel.
à koi correspondesnt les RPM devel? que permettent ils de faire? ds quels cas est il nécesaire de les installer?

merci de staisfaire ma curiosité!!!

mathieu

5 réponses

kmf31 Messages postés 1564 Statut Contributeur 501
 
Ca concerne les bibliotheques:

rpm normal: necessaire pour faire tourner un programme qui depend de cette bibliotheque (contient la version dynamique: lib*.so)

rpm devel: necessaire pour compiler soi meme un programme qui depend de cette bibliothque (contient la version statique lib*.a et les fichiers include *.h pour cette bibliotheque)

En Linux ca arrivent souvent (meme pour les debutants) qu'on installe un logiciel a partir des source (c.-a-d. on compile soi meme) par un paquet tar.gz avec la methode: ./configure, make, make install, voir le tuto pour details:
http://www.commentcamarche.net/faq/1328-%5BLinux%5D-Installer-les-programmes-gestion-des-paquets-compil
Ceci necessiste les paquets devel pour les bibliotheques dont le paquet a installer en question depend.

Ce forum est rempli de question de genre:
Pourquoi je ne peux compiler le programme xyz ?
Pourquoi chez moi le ./configure pour xyz plante ?
Reponse: il faut installer les rpm devel qui manquent

Si tu as assez de place sur le DD installe les devels pour les bibliotheques que tu as, notamment pour xorg, qt et tous ce qui est graphique (support jpg, gif, ...). Sinon souviens toi bien de le faire ulterieurement quand tu souhaites installer toi meme un logiciel a partir des sources.

Donc pour faire simplement tourner ton systeme ce n'est pas necessaire mais c'est exactement le genre de chose qui produit des messages d'erreurs inexpliquees pendant une compilation si on ne sait pas de quoi il s'agit.
1
saga9 Messages postés 5912 Date d'inscription   Statut Contributeur Dernière intervention   876
 
Les Rpm-devel contient en fait les codes sources du programmes (les headers). C'est utile lorsque tu dois compiler un autre programme qui se sert de son code source: par exemple pour le noyau.
Si on te demande lors d'une compilation ou d'une installation les headers de Prgm, installes alors le paquetages devel correspondant.
0
mathieu
 
merci bcp pour ces éclairements!!!
pkoi dit on que les lib.so sont dynamiques, et les lib.a statiques. quelle est leur différence de fonctionnement? avec kels fichiers interagissent ils?

cordialement, mathieu
0
saga9 Messages postés 5912 Date d'inscription   Statut Contributeur Dernière intervention   876
 
Salut,
La difference entre les dynamiques et les statiques se situe dans la compilation et la creation de programmes.

Quand tu compiles, le compilateur (gcc en l'occurence) va traduire les lignes de code ecrites en langage de programmation (c, c++ par exemple), en langage machine, seul langage compréhensible par le systeme d'exploitation.

Lors de la creation de programme, il est possible d'utiliser des bouts de code deja écrits que l'on integre à son programmes.Alors deux facon de faire:

- on copie-colle: c'est simple mais pas pratique car les noms donnés aux variables et fonctions du bout de code copié peut etre deja utilisé dans son programme et imagines s'il s'agit de plusieurs milliers de lignes de code!!

- on utilise les librairies (bibliotheques en francais).Il s'agit de "module" que l'on intégre dans son propre code (on "include" les modules). Cela permet de faire appelle aux fonctions du modules de maniere explicite sans recopier le code tout entier.

Dans ce dernier cas (celui qui est en fait utiliser tout le temps), soit on utilise ces librairies qu'on intère directement dans le programme(statique: il est autonome(pas de dependances) mais est donc plus volumineux) soit on ne l'integre pas dans le programme(dynamique: les appels de fonctions reussissent si la librairie appelée est installée. Cela permet de ne pas avoir en plusieurs exemplaires intégrés dans plusieurs programmes une librairie et allège également le programme).
Dans dans le cas dynamique, il faut voir le programme comme fourni en kit tandis que dans le cas statique, tu as affaire à une bloc indivisible. La premiere approche est la plus souvent utilisé car elle est plus flexible... c'est de la que vient les dependances!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saga9 Messages postés 5912 Date d'inscription   Statut Contributeur Dernière intervention   876
 
...petites precisions avant qu'on ne me fasse la remarque:
Ce que j'ai ecris n'est valable que pour les langages compilés comme le c ou le c++... vu que sur linux 99% sont ecris en c...

0