OVH Cloud OVH Cloud

[Slack 9.0] Problème de compilation

8 réponses
Avatar
Gerald Niel
Bonjour,

J'ai un truc bizarre avec ma slack en ce moment, lorsque je tente de
compiler la dernière version de grisbi http://www.grisbi.org pour en
faire un paquet slack ensuite. Je me retrouve avec un binaire de 5,8
Mo au lieu d'environ 1 Mo.
J'ai donc l'impression que certaines librairies sont liées
statiquement. J'ai essayé de passer --enable-shared et/ou
--disable-static au script configure, sans succès.

Si quelqu'un à une idée de ce qui cloche, je suis preneur... J'ai
recherché sur Google et Google group sans rien trouver qui solutionne
ce problème.

Et... il ne me semble pas avoir modifié quoi-que ce soit à mon système
(mais bon... j'ai peut-être fait une connerie sans m'en appercevoir ou
le savoir).

@+
--
> Ce message est le premier appel appel à discussion en vue de la
> création de la hiérarchie fr.internet.*
fr.comp.os.linux.internet.* ou fr.internet.comp.os.linux.*?
-+- Arnaud in guide du linuxien pervers - "Bien configurer fr.*"

8 réponses

Avatar
Niko
Gerald Niel wrote/ecrivait:
Bonjour,
J'ai un truc bizarre avec ma slack en ce moment, lorsque je tente de
compiler la dernière version de grisbi http://www.grisbi.org pour en
faire un paquet slack ensuite. Je me retrouve avec un binaire de 5,8
Mo au lieu d'environ 1 Mo.
J'ai donc l'impression que certaines librairies sont liées
statiquement. J'ai essayé de passer --enable-shared et/ou
--disable-static au script configure, sans succès.


Si ma mémoire est bonne, tu peux simplement comparer les sorties de ldd pour
tes deux executables pour vérifier s'il s'agit bien du même problème.

Vérifie que checkinstall "strippe" bien les binaires.

--
niko

Avatar
Gerald Niel
Le lundi 29 décembre 2003 à 10:18 GMT, Niko écrivait sur
fr.comp.os.linux.configuration :

Je me retrouve avec un binaire de 5,8 Mo au lieu d'environ 1 Mo.
J'ai donc l'impression que certaines librairies sont liées
statiquement. J'ai essayé de passer --enable-shared et/ou
--disable-static au script configure, sans succès.


Si ma mémoire est bonne, tu peux simplement comparer les sorties de ldd pour
tes deux executables pour vérifier s'il s'agit bien du même problème.


Je ne sais de quel "même problème" tu parles mais c'est très étrange...
Je viens de comparer entre le paquet slackware (que j'ai compilé, donc
à un moment, je n'ai eu ce problème) de la 0.4.1 et en compilant la
même 0.4.1.
ldd retourne exactement la même chose sur les deux binaires, en
revanche:

$ ls -l src/grisbi
-rwxr-xr-x 1 gerald users 6292119 déc 29 18:10 src/grisbi*

$ ls -l usr/bin/grisi
-rwxr-xr-x 1 gerald users 1064613 oct 26 16:55 usr/bin/grisbi*

Là... je n'y comprend franchement rien du tout :o/

Vérifie que checkinstall "strippe" bien les binaires.


Heuh... en français ? De toutes façon ça n'a rien à voir avec
checkinstall que je n'utilise pas pour ça.

Le problème, c'est que je ne comprend pas ce qui a bien pu avoir
changé pour que ça me fasse ça, de plus ça me turlupine tellement, que
je viens de repartir d'une install "propre", au cas où...

@+
--
« C'est l'histoire d'un gars qui veut la machine la plus puissante du
monde sous Windows 95 en émulation sous Wine qui tourne sur une station
FreeBSD avec bibliotheque de compatibilité Linux. »
-+- ST in Guide du linuxien pervers : "A quoi sert Unix ?" -+-


Avatar
shal
Gerald Niel wrote:


Vérifie que checkinstall "strippe" bien les binaires.



Heuh... en français ? De toutes façon ça n'a rien à voir avec
checkinstall que je n'utilise pas pour ça.


En anglais: strip , c'est une commande qui retire tout les trucs de
debug des binaires et reduit considerablement la taille des executable.

il n'y a pas l'option -g dans le makefile ?

A+


Avatar
Gerald Niel
Le lundi 29 décembre 2003 à 18:45 GMT, shal écrivait sur
fr.comp.os.linux.configuration :

il n'y a pas l'option -g dans le makefile ?


Si... Dans la variable CFLAGS.
Mais --disable-debug passé au configure n'a aucun effet.
Je ne sais dans quel fichier intervenir pour retirer cette option (si
c'est bien ça... je suis en train de compiler pour voir)

@+
--
How do I run Crack under DOS/Win95?
Reformat your hard-drive and install Linux, then try again. CAUTION: this

process may lose data.
Crack5.0a in Guide du linuxien pervers : "Il y a toujours une solution !"

Avatar
Gerald Niel
Le lundi 29 décembre 2003 à 19:57 GMT, Gerald Niel écrivait sur
fr.comp.os.linux.configuration :

il n'y a pas l'option -g dans le makefile ?


Si... Dans la variable CFLAGS.


Bon bah c'est bien ça.

Y-a-t-il un moyen de remedier à cet inconvenient (ie. supprimer cette
option) ?

Si vous connaissez un groupe plus approprié pour poursuivre...

@+
--
je sais pas di il y a quelqu'un sur internet à 1h48 mais j'aimerais bien
parler!
bisous
-+- poisson des iles In: Guide du linuxien pervers - "Bavardage..." -+-


Avatar
Niko
Gerald Niel wrote/ecrivait:
Le lundi 29 décembre 2003 à 18:45 GMT, shal écrivait sur
fr.comp.os.linux.configuration :

il n'y a pas l'option -g dans le makefile ?


Si... Dans la variable CFLAGS.
Mais --disable-debug passé au configure n'a aucun effet.
Je ne sais dans quel fichier intervenir pour retirer cette option (si
c'est bien ça... je suis en train de compiler pour voir)


La création de packages sous Slackware est grandement facilitée par
l'utilitaire checkinstall*.

Tu configures, compiles (make) avec les options que tu veux, et au lieu de
"make install" tu te logge en tant que superutilisateur et tu tapes
"checkinstall". Tu as juste à suivre les instructions - répond yes quand tu ne
sais pas.

Lors de cette opération, les binaires qui contenaient les informations de
débuggage (compilés avec -gX) vont être passés à la moulinette et tu devrais
retrouver la taille d'origine.

Si tu as déjà créé ton package, utilise

$ strip --strip-all grisbi

pour stripper manuellement le(s) binaire(s) du package.

Pour ne pas compiler avec -gX, recherche la partie du makefile, ou ses
dépendances qui contient le flag et supprime le, ou bien redéfinis la variable
lors de la compilation :

ex:

CC=gcc -g3

tape

make CC=gcc

ex:

DEBUG=-g3

tape

make DEBUG=""

hth,


* génial ce truc
--
niko


Avatar
Gerald Niel
Le mardi 30 décembre 2003 à 09:48 GMT, Niko écrivait sur
fr.comp.os.linux.configuration :

La création de packages sous Slackware est grandement facilitée par
l'utilitaire checkinstall*.


Merci, je connais.
Mais pour fabriquer des paquets destiné à être distribué, je le trouve
perfectible. (pas le slack-desc entre autres)

Lors de cette opération, les binaires qui contenaient les informations de
débuggage (compilés avec -gX) vont être passés à la moulinette et tu devrais
retrouver la taille d'origine.


En effet, c'est pour ça que je ne m'en était apperçu jusque là.

En parlant de truc géniaux, puis-je me lancer (je suis sur une base de
9.0) dans un swaret --upgrade (vers current) sans risque ?
Des retours d'experience ?
J'hésite un peu... (parce que la glibc et autres trucs 'sensibles' ça
me rend frileux)

@+
--
afin de parfaire mon apprentissage de linux,je cherche sur lille et sa
périphérie une nana tout linux
JPH in Guide du linuxien pervers : "Connaître le système"


Avatar
shal
Gerald Niel wrote:

En parlant de truc géniaux, puis-je me lancer (je suis sur une base de
9.0) dans un swaret --upgrade (vers current) sans risque ?
Des retours d'experience ?
J'hésite un peu... (parce que la glibc et autres trucs 'sensibles' ça
me rend frileux)



moi je suis en permanence sur la slack-current.

Presque jamais de problème.

Le + gros probléme venait de gimp que savait pas ouvrir les jpeg car il
manquait une dependance sur une librairie, Pb vite reglé.

je trouve swaret vraiment tres bien.

Commence par faire swaret --update puis ensuite swaret --upgrade


A+