Nouveau forum : https://forum.slackware-fr.eu.org/

Annonce

29/01/2017 : Ce forum est dsormais en lecture seule. Merci d'utiliser le nouveau forum.

13/12/2014 : Inscriptions dsactives pour un moment en raison d'une recrudescence d'inscriptions plus que douteuses.

#1 16-07-2010 19:39:24

polux
Membre
Date d'inscription: 15-07-2010
Messages: 17

make install-strip et strip

bonsoir,

Je viens de compiler et d'installer une vingtaine de logiciel tournant autour de xfce4, avec le traditionnel "./configure && make && make install".

Ca fonctionne...mais c'est fastidieux, aussi j'ai commenc regarder vos SlackBuilds, ceux de Pat et ceux de slackbuild.org, mais je ne comprends pas bien se que fait strip et automake(je crois).

est-ce qu'il y a une diffrence entre faire:

Code:

$ strip --strip-unneeded

et

Code:

$ make install-strip

cordialement.
polux

Hors ligne

 

#2 16-07-2010 22:39:32

gouttegd
Membre trs actif
Lieu: Grenoble
Date d'inscription: 11-04-2007
Messages: 210

Re: make install-strip et strip

Salut,

strip --strip-unneeded supprime des fichiers binaires tous les symboles autres que ceux ncessaires au bon fonctionnement des bibliothques dynamiques (les symboles visant faciliter le dbogage, en particulier, sont supprims).

make install-strip est une option de compilation dont la prsence nest pas systmatique (en particulier, les vieilles versions des autotools ne supportent pas cette option). Lorsquelle est supporte, son effet par dfaut est le suivant :
invocation de strip sur les binaires excutables (suppression de tous les symboles) ;
invocation de strip --strip-unneeded sur les bibliothques dynamiques.

Attention toutefois, je suis dj tomb sur des projets dans lesquels la cible install-strip semblait supporte mais navait en ralit aucun effet (probablement un bug des autotools, ou une mauvaise utilisation de ceux-ci de la part des dveloppeurs du projet).


Je vous aiderai si vous me promettez d'aider quelqu'un en retour. --- anonyme
Soyez vigilant lorsque vous vous exprimez dans un forum lectronique. Vos fautes de frappe et de syntaxe vous poursuivront pour l'ternit. --- Linus B. Torvalds

Hors ligne

 

#3 17-07-2010 00:02:59

polux
Membre
Date d'inscription: 15-07-2010
Messages: 17

Re: make install-strip et strip

bon, de ce que je comprends,
la commande make install-strip allge(quand elle fonctionne) bien plus le binaire.

pour installer mes derniers logiciels(xfce4) j'ai utilis cette commande sur prs de la moiti d'entre eux et xfce4 a l'air de fonctionner normalement.

Est-ce que vous me conseillez de continuer avec strip --strip-unneeded sur des symboles bien particuliers tel que dans les SlackBuild ou puis-je continuer avec make install-strip avec confiance ?

parce que j'ai commenc crire un modle pour automatiser mes installations tel que ceci:

Code:

fBuilding_soft() {

chown -R root:root .
chmod -R u+w,go+r-w,a-s .

case $CPU_TARGET in x86_64) C_FLAGS="-O2 -fPIC"; LIB_SUFFIX="64";;
                      i686) C_FLAGS="-O2 -march=i686"; LIB_SUFFIX=""
esac

CC=gcc \
CFLAGS=$C_FLAGS \
CXXFLAGS=$C_FLAGS \
./configure  --prefix=/usr \
             --libdir=/usr/lib${LIB_SUFFIX} \
             --sysconfdir=/etc \
             --mandir=/usr/man \
             --docdir=/usr/doc/$PKG_NAME-$SRC_VERSION \
             --build=$CPU_ARCH-slackware-linux

NUM_JOBS=$(getconf _NPROCESSORS_ONLN)
(( NUM_JOBS+=1 ))
make -j$NUM_JOBS || make

mkdir $BIN_DIR
make install-strip DESTDIR=$BIN_DIR 
}

en tout cas, merci pour l'info gouttegd

polux

Hors ligne

 

#4 17-07-2010 00:10:08

Tsomi
Membre trs actif
Date d'inscription: 09-08-2006
Messages: 684

Re: make install-strip et strip

C'est comme tu veux... install-strip conviendra la plupart du temps, surtout si tu dois faire appel un ./configure juste avant.

Ou sinon, dans ton systme d'automatisation des slackbuilds , tu peux avoir une fonction globale strip_everything() (qui contient tous les strip-unneeded) qui sera appele aprs chacun de tes scripts...

Hors ligne

 

#5 17-07-2010 00:37:05

polux
Membre
Date d'inscription: 15-07-2010
Messages: 17

Re: make install-strip et strip

Tsomi a crit:

...dans ton systme d'automatisation des slackbuilds , tu peux avoir une fonction globale strip_everything() (qui contient tous les strip-unneeded) qui sera appele aprs chacun de tes scripts...

je n'automatise pas les SlackBuild, puisqu'ils sont de par leur fonction ddi a l'automatisation de l'instalation des logiciels sous Slack.
Mes essais en ce moment ne peuvent pas s'appeler des SlackBuild alors j'ai choisi "automatiser", n'tant pas dveloppeur, le terme est, peut-tre(srement), mal choisi.

Je m'inspire des SlackBuild pour mes essais d'criture, si mon "post" n'est pas plac o il faut dans le forum, excusez moi, l'on peut le dplacer...

oui, l'on peut tout faire, mais je ne savais pas quelle solution choisir.
Je vais continuer avec make install-strip par fainantise d'en crire plus.

merci pour ces rponses

cordialement
polux

Hors ligne

 

#6 17-07-2010 00:37:55

gouttegd
Membre trs actif
Lieu: Grenoble
Date d'inscription: 11-04-2007
Messages: 210

Re: make install-strip et strip

polux a crit:

la commande make install-strip allge(quand elle fonctionne) bien plus le binaire.

Bien plus, je ne sais pas. strip --strip-unneeded laisse les symboles ncessaires la relocation des bibliothques dynamiques, mais un excutable (et non une bibliothque dynamique) contient-il, aprs compilation, ce genre de symboles ? Je ne connais pas assez les dtails du format ELF pour le savoir, mais a priori et logiquement jaurais tendance supposer que non (auquel cas strip et strip --strip-unneeded, lorsque invoqus sur un excutable, auraient le mme effet). Il faudrait que je fasse quelques tests loccasion.

polux a crit:

puis-je continuer avec make install-strip avec confiance ?

Tu ne peux pas faire aveuglment confiance make install-strip. Comme je lai dit, il arrive que cette commande ne fonctionne pas (ou fonctionne mal, cest--dire strippe une partie des binaires mais pas tous).

Lorsque jcris un SlackBuild pour un logiciel dont le systme de build offre cette cible, je vrifie toujours aprs compilation et installation que les binaires sont effectivement stripps (la sortie de file permet de savoir si un binaire ELF est stripp ou non). Si cest le cas, pas de problme, jutilise cette commande dans le SlackBuild, sinon jappelle moi-mme strip --strip-unneeded comme recommand dans le SlackBuild dexemple disponible sur ce site.

polux a crit:

parce que j'ai commenc crire un modle pour automatiser mes installations tel que ceci:

mon avis, tu vas au-devant de dconvenues. Un tel modle ne fonctionne que pour un projet parfaitement autoconfisqu, et dexprience ceux-ci ne sont pas aussi frquent quon ne le voudrait.

titre dexemple, ce qui peut ne pas fonctionner avec certains logiciels :
--mandir est parfois ignor (les pages de man sont installs dans prefix/share/man quel que soit largument de --mandir) ;
pareil pour --docdir ;
comme dj mentionn, la cible install-strip nest parfois pas disponible ;
la variable permettant de changer la racine de linstallation porte parfois un autre nom que DESTDIR (bon, a, cest de plus en plus rare cela dit, du moins daprs mes observations).

Et plus tu vas vouloir automatiser, plus tu vas te heurter ce genre de problmes.


Je vous aiderai si vous me promettez d'aider quelqu'un en retour. --- anonyme
Soyez vigilant lorsque vous vous exprimez dans un forum lectronique. Vos fautes de frappe et de syntaxe vous poursuivront pour l'ternit. --- Linus B. Torvalds

Hors ligne

 

#7 17-07-2010 11:51:18

Mushroom
Administrateur
Date d'inscription: 15-10-2005
Messages: 2158

Re: make install-strip et strip

Salut,

gouttegd a crit:

mon avis, tu vas au-devant de dconvenues. Un tel modle ne fonctionne que pour un projet parfaitement autoconfisqu, et dexprience ceux-ci ne sont pas aussi frquent quon ne le voudrait.

100% d'accord. L'tape configuration/compilation/rcupration dans une racine temporaire est la source de 99% des prises de ttes de l'empaqueteur, parce que justement il n'y a pas de rgle intangible. Tu peux automatiser tout le reste sans trop de soucis, mais a c'est vraiment la loterie et c'est vraiment pnible quand a sort des sentiers battus (il s'agit pas d'une man pas compresse ou d'un README manquant, il faut souvent se retaper tout ou partie de la compilation)...

Hors ligne

 

#8 17-07-2010 19:12:33

polux
Membre
Date d'inscription: 15-07-2010
Messages: 17

Re: make install-strip et strip

Mushroom a crit:

...L'tape configuration/compilation/rcupration dans une racine temporaire est la source de 99% des prises de ttes de l'empaqueteur...c'est vraiment pnible quand a sort des sentiers battus

C'est vrai que c'est pnible, l je viens de faire un

Code:

# src2pkg -CWD gnustep-make-2.0.8.tar.gz
# src2pkg -CWD gnustep-base-1.17.1.tar.gz

et marche p ! sad
j'ai du encore me le faire en manuel.
j'ai pas essay avec xfce4 mais la compile avec les paramtres de base fonctionnait tellement bien...

polux

Hors ligne

 

#9 31-10-2013 09:59:42

blackgul
Nouveau membre
Date d'inscription: 31-10-2013
Messages: 1

Re: make install-strip et strip

L'tape configuration/compilation/rcupration dans une racine temporaire est la source de 99% des prises de ttes de l'empaqueteur, parce que justement il n'y a pas de rgle intangible. Tu peux automatiser tout le reste sans trop de soucis, mais a c'est vraiment la loterie et c'est vraiment pnible quand a sort des sentiers battus (il s'agit pas d'une man pas compresse ou d'un README manquant, il faut souvent se retaper tout ou partie de la compilation)...


http://www.braindumps.co/RHCE.htm
http://www.yale.edu/
http://www.pmi.org/

Hors ligne

 

#10 07-01-2014 11:57:35

chrisjacob
Membre
Date d'inscription: 20-12-2013
Messages: 7

Re: make install-strip et strip

As per Google search what I understood about Automake is, it is a tool for automatically generating Makefile.ins from files called Makefile.am. The typical Automake input file is simply a series of variable definitions and it provides finer control to the user than a simple make installing.



To know more- directv family package

Dernire modification par chrisjacob (28-07-2016 13:45:38)

Hors ligne