Compiler en binaire statique + changer l'archi [Debian] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 09-05-2007 à 16:35:28
Je comprend pas le truc du "static", quelqu'un peut expliquer ?
Marsh Posté le 09-05-2007 à 16:44:59
dr-freuderick a écrit : Je comprend pas le truc du "static", quelqu'un peut expliquer ? |
compiler un binaire en statique te permet de ne pas dépendre de ton environnement (les librairies sur lesquelles tu linkes sont inclues dans le binaire). Ca fait grossir les binaires accessoirement.
exemple :
[nico@moria:~] ldd `which evolution` |
bon c'est un peu violent OK
Marsh Posté le 09-05-2007 à 17:14:32
Heu, Black_Lord, je dois prendre ça comme une explication?
Marsh Posté le 09-05-2007 à 17:54:30
Sisi c'en est une
En compilation statique, l'exécutable généré contient toutes les librairies externes auxquelles il peut faire appel, ce qui gonfle sa taille par rapport au même exécutable compilé dynamiquement. Ce dernier sera plus petit mais se viandera si il y a un souci avec lesdites librairies (absentes, version trop ancienne, ...)
Marsh Posté le 09-05-2007 à 18:06:53
Oui, je le sais ça... c'est juste que COMMENT FAIT ON? J'ai les sources, j'ai l'environnement, j'ai plein de choses mais je ne sais pas comment tranformer mes sources en binaire statique... HELP
Marsh Posté le 09-05-2007 à 19:48:09
Je ne vois pas en quoi le fait d'avoir des binaires linkés dynamiquement est un problème pour un rescue CD. Si tu boot sur ton CD, le CD contient les binaires et leurs libraries, et les binaires du CD utilisent les lib du CD... Ca change quoi d'avoir des binaires linkés statiquement ?
Marsh Posté le 09-05-2007 à 19:51:02
Sinon pour ta question, je pense qu'il suffit de donner au script configure le rep sous lequel tu veux faire l'install. Le make install ne touchera rien en dehors de ce rep. Par exemple si tu fais ./configure --prefix=/rescue_cd, le make install installera le soft sous /rescue_cd/bin, /rescue_cd/lib, /rescue_cd/etc...
Marsh Posté le 09-05-2007 à 19:56:35
nicephore17 a écrit : Heu, Black_Lord, je dois prendre ça comme une explication? |
c'est pour dr freuderick l'explication perso je compile rarement (jamais même) en statique
Marsh Posté le 09-05-2007 à 23:56:54
matafan a écrit : Je ne vois pas en quoi le fait d'avoir des binaires linkés dynamiquement est un problème pour un rescue CD. Si tu boot sur ton CD, le CD contient les binaires et leurs libraries, et les binaires du CD utilisent les lib du CD... Ca change quoi d'avoir des binaires linkés statiquement ? |
Disons que j'ai procédé intelligement, j'ai demandé son avis au mainteneur du CD et il me conseille de le faire en binaire statique. Reste à savoir comment.
Je sais bien que vous êtes tous de Alpha Geek comme moi mais là la question n'est pas de la raison mais de la méthode (moi aussi le statique c'est pas mon truc et c'est bien pour ça que je ne sais pas faire).
Marsh Posté le 10-05-2007 à 09:12:05
T'as essayé de faire comme matafan t'a dit ?
matafan a écrit : Sinon pour ta question, je pense qu'il suffit de donner au script configure le rep sous lequel tu veux faire l'install. Le make install ne touchera rien en dehors de ce rep. Par exemple si tu fais ./configure --prefix=/rescue_cd, le make install installera le soft sous /rescue_cd/bin, /rescue_cd/lib, /rescue_cd/etc... |
Marsh Posté le 10-05-2007 à 09:17:10
Ouaip c'est pas mal le truc de matafan, merci.
Par contre j'ai un autre souci, il le compile en i486 alors que je le préférerais en i386, vous savez comment faire?
(PS: j'avais pas vu le post de matafan)
Marsh Posté le 10-05-2007 à 14:12:39
nicephore17 a écrit : Ouaip c'est pas mal le truc de matafan, merci. |
http://www.gnu.org/software/autoco [...] oconf.html 15.6 je pense
Marsh Posté le 09-05-2007 à 16:34:54
Bonjour,
Je cherche à compiler une exécutable en binaire statique, ce qui est indispensable pour pouvoir l'intégrer à un System Rescue CD. Le seul hic c'est que je ne sais pas faire.
J'ai cru comprende qu'il fallait faire un ./configure --enable-static --disable-shared suivi d'un make.
Mais ensuite? Si je fait un make intall, je ne risque pas de corrompre mon système hôte qui dispose du même logiciel mais dans une autre version?
J'ai farfouilé sur Google mais j'ai rein trouvé de cohérant, merci de votre aide.
A+
Message édité par nicephore17 le 10-05-2007 à 13:48:03
---------------
Mac Pro powered (sorry)