Rpm devel
mathieu
-
saga9 Messages postés 5912 Date d'inscription Statut Contributeur Dernière intervention -
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
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
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.
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.
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.
Si on te demande lors d'une compilation ou d'une installation les headers de Prgm, installes alors le paquetages devel correspondant.
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
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
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!!
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!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question