OVH Cloud OVH Cloud

[gentoo-user-fr] conseil pour CFLAGS

30 réponses
Avatar
Christophe PEREZ
Bonsoir,

J'aurais besoin de conseils pour optimiser mes compilations, en
particulier le CFLAGS.
En effet, j'ai fait pas mal de config diff=E9rentes, mais je ne suis pas =
du
tout s=FBr de moi, et comme mplayer ne tourne toujours pas, c'est bien qu=
e
j'ai quelque chose qui coince.

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Celeron(TM) CPU 1300MHz
stepping : 1
cpu MHz : 1303.397
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmo=
v pat pse36 mmx fxsr sse
bogomips : 2580.48

pour l'instant, j'ai :
CFLAGS=3D"-march=3Dpentium3 -O3 -pipe -fomit-frame-pointer -mfpmath=3Dsse=
-msse -mmmx"

En plus, j'avais jusqu'=E0 maintenant 3dnow dans le USE, que je viens
d'enlever parce que je pense qu'il ne le faut pas.

J'ai une carte nvidia, et pour mplayer, j'ai donc :
# equery uses mplayer
[ Colour Code : set unset ]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]

U I [ Found these USE variables in : media-video/mplayer-1.0_pre5-r4 ]
- - 3dfx : Adds support for 3dfx video cards to XFree86. See: vood=
oo3
- + 3dnow : Adds support for 3dnow multimedia processor instruction=
s
- - 3dnowex : Enables 3dnow extensions in mplayer
- - aalib : Adds support for media-libs/aalib (ASCII-Graphics Libra=
ry)
+ + alsa : Adds support for media-libs/alsa-lib (Advanced Linux So=
und Architecture)
- - altivec : Adds support for optimizations for G4 and G5/ppc970 pro=
cessors
- - arts : Adds support for aRts: the KDE sound daemon
- - bidi : Enables bidirectional language support
- - debug : Tells configure and the makefiles to build for debuggin=
g. Effects vary across packages, but generally it will at least add -g to=
CFLAGS. Remember to set FEATURES=3Dnostrip too
+ + divx4linux : Adds support for divx.com's DivX(tm) mpeg4 libary
- - doc : Adds extra documentation (API, Javadoc, etc)
- - dvb : Adds support for DVB (Digital Video Broadcasting)
- - cdparanoia : Enables cdparanoia support
- - directfb : Adds support for DirectFB layer (library for FB devices=
)
+ + dvd : Adds support for DVDs
+ - dvdread : Enables usage of Ogle's libdvdread rather than mpdvdkit=
for DVD playback
- - edl : Enables usage of Edit Decision Lists
+ + encode : Adds support for MEncoder or LaME encoder, wherever app=
licable
+ + esd : Adds support for media-sound/esound (Enlightened Sound =
Daemon)
+ - fbcon : Adds framebuffer support for the console, via the kerne=
l
+ + gif : Adds GIF image support
- - ggi : Adds support for media-libs/libggi (non-X video api/dri=
vers)
+ + gtk : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
- - i8x0 : Enables support for the i8x0 xvmc video driver
- - ipv6 : Adds support for IP version 6
- - jack : Adds support for the JACK Audio Connection Kit
+ - joystick : Add support for joysticks in all packages
+ + jpeg : Adds JPEG image support
- - libcaca : Enables libcaca support, colored ASCII-art graphics
- - lirc : Adds support for lirc (Linux's Infra-Red Remote Control=
)
- - live : Enables live.com streaming media support
- - lzo : Enables support for lzo compression
+ + mad : Adds support for mad (high-quality mp3 decoder library =
and cli frontend)
- - matroska : Use external libmatroska, rather then bundled version
- - matrox : Adds Matrox MGA support to mplayer
+ + mpeg : Adds libmpeg3 support to various packages.
- - mmx : Adds support for optimizations for Pentium MMX and Athl=
on class processors
- - mmx2 : enables mmx2 support
- - mythtv : Enables mythtv support in mplayer
- - nas : Adds support for network audio sound
+ - network : Enables network streaming support
+ + nls : unknown
+ - nvidia : Enables support for the nvidia xvmc video driver
+ + oggvorbis : Adds support for the OggVorbis audio encoding
+ + opengl : Adds support for OpenGL
+ + oss : Adds support for OSS (Open Sound System)
+ + png : Adds support for libpng (PNG images)
+ - real : Adds real video support to real through win32codecs
+ - rtc : Enables usage of the linux real time clock. The altern=
ative is software emulation of rtc.
+ + samba : Adds support for SAMBA
+ + sdl : Adds support for Simple Direct Layer (media library)
+ + sse : fast floating point optimization for PentiumIII+ class =
chips
+ + svga : Adds support for SVGAlib (graphics library)
- - tga : Enables tga output support
- - theora : Adds support for the Theora Video Compression Codec
+ + truetype : Adds support for FreeType and/or FreeType2 fonts
+ - v4l : Enables video4linux support
+ - v4l2 : Enables video4linux2 support
+ + X : Adds support for X11
- - xanim : Enables support for xanim based codecs
+ + xinerama : Add support for the xinerama X11 extension, which allow=
s you to stretch your display across multiple monitors
+ + xmms : Check/Support for XMMS (X MultiMedia System) player.
+ + xv : Adds in optional support for the Xvideo extension (an X=
API for video playback)
+ + xvid : Adds support for xvid.org's open-source mpeg-4 codec
+ - xvmc : Enables X-Video Motion Compensation support
- - debug : Tells configure and the makefiles to build for debuggin=
g. Effects vary across packages, but generally it will at least add -g to=
CFLAGS. Remember to set FEATURES=3Dnostrip too

Mais, d=E8s que je tente de le recompiler, j'ai un probl=E8me =E0 cause d=
e
real (que j'aimerais bien avoir) :
* Real libs not found! Install win32codecs
* And ensure that real USE flag is enabled!

pourtant :
# qpkg -i -I win32codecs
media-libs/win32codecs-20040916-r1 *
Win32 binary codecs for video and audio playback support [ http:/=
/www.mplayerhq.hu/ ]

Donc, vu tout =E7a, je voudrais bien mettre tout mon syst=E8me d'aplomb,
quitte =E0 en recompiler un max, mais pour =E7a, faut que cette fois je s=
ois
un peu plus s=FBr de l'optimisation.

Merci grandement, d'avance.

--=20
Christophe PEREZ

--
gentoo-user-fr@gentoo.org mailing list

10 réponses

1 2 3
Avatar
Christophe PEREZ
Le Sat, 11 Dec 2004 12:34:42 +0100, Yoann Pannier a écrit :

Mais évidemment, vu que tu dois être en ~arch (au moins
partiellement), ça ne changera rien.

Donc en fait, tu devrais peut-être simplement essayer avec une versio n
"stable" de win32codecs (et éventuellement downgrader d'autres choses
aussi, au besoin).

Si tu est en ~arch, la commande suivant peut éventuellement aider :

#echo "media-libs/win32codecs x86" >> /etc/portage/package.keywords



Comme je l'ai déjà dit, mais le mail n'est jamais arrivé ici.

j'y écrivais :
--------------------------------------------------------
Il faut pour cela utiliser "real" aussi pour le
package win32codecs, sinon, les codecs real ne sont pas installés.

Logique, mais pas du tout indiqué clairement par le message d'erreur.
--------------------------------------------------------

ps: c'est moi ou il y a un problème avec les listes gentoo ?



Franchement, je suis tombé au mauvais moment avec mes questions. J'ai
trouvé la liste bien déserte et peu "aidante" sur le coup. Maintenant ,
je comprend mieux.

--
Christophe PEREZ


--
mailing list
Avatar
Bruno Félix
Le dim 12/12/2004 à 20:42, Christophe PEREZ a écrit :
Le Sun, 12 Dec 2004 12:32:54 +0100, Bruno Felix a écrit :

> emerge --oneshot <noms_des_packages_à_recompiler>

Ah oui, j'ai déjà vu ce --oneshot, mais il faut que je regarde dans la
doc pour comprendre à quoi il sert réellement.



c'est simplement pour ne pas ajouter les packages que tu recompiles à
ton fichier world.

> Bon, ce que je ferais dans ton cas :
> - modifier les USE.

En y mettant quoi ?
Pour l'instant, j'ai :
USE="acpi acl aim -apm -arts -alsa audiofile bash-completion cdr divx4linux dvddvdr exif fbcon flac gphoto2 -gpm imagemagick iodbc jabber joystick mmx mozillaodbc scanner sox spell sse tiff usb xinerama xpm xvid"



heu... m'a l'air bien ça

Mais... euh... j'ai pourtant bien dit que mon mplayer fonctionne, donc ne
plante plus, mais que je ne sais plus avec quel CFLAGS je l'ai compilé.


devais etre fatigué moi.
Sinon, pour savoir avec quels CFLAGS il a été compilé, suffit de
relancer la compil 2 secondes pour voir comment il se compile.
Vu qu'il utilise ses CFLAGS et que tes USE flags sont identiques

Par contre, il me semble que c'est avec le USE mis plus haut.

Ma question actuelle porte, comme depuis le début, sur l'optimisation du
CFLAGS.


Heu... personnellement, j'utiliserais
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
comme indiqué sur http://gentoo-wiki.com/Safe_Cflags.
Les optimisations mmx, sse sont tirées des USE.

D'après cette page, http://www.gentoofr.org/viewer.php?id&&id_lien
tu peux améliorer la vitesse d'exécution au détriment de la taille des
executables en ajoutant
-funroll-loops

tu peux aussi faire 2 3 essais de compil d'autres packages pour voir si
-mfpmath=sse -msse -mmmx
sont bien ajoutés par portage depuis les use, mais à mon avis, c'est le
cas.

Y'a peut etre moyen d'aller plus loin, mais je vois pas.

++


--
mailing list
Avatar
Stéphan BERNARD
>>Mais... euh... j'ai pourtant bien dit que mon mplayer fonctionne, donc ne
plante plus, mais que je ne sais plus avec quel CFLAGS je l'ai compilé.



devais etre fatigué moi.
Sinon, pour savoir avec quels CFLAGS il a été compilé, suffit de
relancer la compil 2 secondes pour voir comment il se compile.
Vu qu'il utilise ses CFLAGS et que tes USE flags sont identiques


Euh, c'est pas plus simple de faire un emerge -vp --newuse mplayer ?
Il me semble avoir remarqué qu'une petite astérisque marque les
USE qui ont changé depuis la dernière fois.

--
Stéphan BERNARD

--
mailing list
Avatar
Bruno Félix
Tiens, cette page pourrait t'intéresser aussi :
http://www.freehackers.org/gentoo/gccflags/flag_gcc3opt.html

Le lun 13/12/2004 à 10:52, Bruno Félix a écrit :
Le dim 12/12/2004 à 20:42, Christophe PEREZ a écrit :
> Le Sun, 12 Dec 2004 12:32:54 +0100, Bruno Felix a écrit :
>
> > emerge --oneshot <noms_des_packages_à_recompiler>
>
> Ah oui, j'ai déjà vu ce --oneshot, mais il faut que je regarde dans la
> doc pour comprendre à quoi il sert réellement.

c'est simplement pour ne pas ajouter les packages que tu recompiles à
ton fichier world.

> > Bon, ce que je ferais dans ton cas :
> > - modifier les USE.
>
> En y mettant quoi ?
> Pour l'instant, j'ai :
> USE="acpi acl aim -apm -arts -alsa audiofile bash-completion cdr divx4linux dvddvdr exif fbcon flac gphoto2 -gpm imagemagick iodbc jabber joystick mmx mozillaodbc scanner sox spell sse tiff usb xinerama xpm xvid"
>
heu... m'a l'air bien ça

> Mais... euh... j'ai pourtant bien dit que mon mplayer fonctionne, donc ne
> plante plus, mais que je ne sais plus avec quel CFLAGS je l'ai compilé.
devais etre fatigué moi.
Sinon, pour savoir avec quels CFLAGS il a été compilé, suffit de
relancer la compil 2 secondes pour voir comment il se compile.
Vu qu'il utilise ses CFLAGS et que tes USE flags sont identiques

> Par contre, il me semble que c'est avec le USE mis plus haut.
>
> Ma question actuelle porte, comme depuis le début, sur l'optimisation du
> CFLAGS.
Heu... personnellement, j'utiliserais
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
comme indiqué sur http://gentoo-wiki.com/Safe_Cflags.
Les optimisations mmx, sse sont tirées des USE.

D'après cette page, http://www.gentoofr.org/viewer.php?id&&id_lien
tu peux améliorer la vitesse d'exécution au détriment de la taille des
executables en ajoutant
-funroll-loops

tu peux aussi faire 2 3 essais de compil d'autres packages pour voir si
-mfpmath=sse -msse -mmmx
sont bien ajoutés par portage depuis les use, mais à mon avis, c'est le
cas.

Y'a peut etre moyen d'aller plus loin, mais je vois pas.

++


--
mailing list






--
mailing list
Avatar
Christophe PEREZ
Le Mon, 13 Dec 2004 10:52:10 +0100, Bruno Félix a écrit :

Ah oui, j'ai déjà vu ce --oneshot, mais il faut que je regarde dan s la
doc pour comprendre à quoi il sert réellement.



c'est simplement pour ne pas ajouter les packages que tu recompiles à
ton fichier world.



Ah ok, et j'en déduis que le fichier world ne devrait contenir que les
applications "finales" et non pas les dépendances ?
Peut-être devrais-je alors le nettoyer vu tous les emerge que j'ai pu
lancer, non ?

USE="acpi acl aim -apm -arts -alsa audiofile bash-completion cdr div x4linux dvddvdr exif fbcon flac gphoto2 -gpm imagemagick iodbc jabber joy stick mmx mozillaodbc scanner sox spell sse tiff usb xinerama xpm xvid"



heu... m'a l'air bien ça



bon !

Sinon, pour savoir avec quels CFLAGS il a été compilé, suffit de
relancer la compil 2 secondes pour voir comment il se compile.
Vu qu'il utilise ses CFLAGS et que tes USE flags sont identiques



Ah !
[...]
* Setting MPlayer messages to language: fr
x86
dvd
png
fbcon
svga
real
Detected operating system: Linux
Detected host architecture: i386
Checking for gcc version ... 3.3.4, ok
Checking for CPU vendor ... GenuineIntel (6:11:1)
Checking for CPU type ... Intel(R) Celeron(TM) CPU 1300MH z
Checking for GCC & CPU optimization abilities ... pentium3
Checking for kernel support of mmx ... yes
Checking for kernel support of mmx2 ... yes
Checking for kernel support of sse ... yes
Checking for mtrr support ... yes
Checking for assembler (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../.. /../i686-pc-linux-gnu/bin/as 2.15.90.0.1.1) ... ok
[...]
Byte order: Little Endian
Optimizing for: pentium3 mmx mmx2 sse mtrr
[...]

C'est bien ça ?

Heu... personnellement, j'utiliserais
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"



Ok, ben j'en étais arrivé à revenir à :
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
pour mes plus récentes compilations.

comme indiqué sur http://gentoo-wiki.com/Safe_Cflags.
Les optimisations mmx, sse sont tirées des USE.



ok.

D'après cette page, http://www.gentoofr.org/viewer.php?id&&id_lie n
tu peux améliorer la vitesse d'exécution au détriment de la taill e des
executables en ajoutant
-funroll-loops



ok.

tu peux aussi faire 2 3 essais de compil d'autres packages pour voir si
-mfpmath=sse -msse -mmmx
sont bien ajoutés par portage depuis les use, mais à mon avis, c'es t le
cas.



Ok, ça semble le cas au plus haut pour mplayer, non ?

Ceci dit, j'ai toujours mon ffmpeg/ffserver qui me renvoie une erreur
"floating point exception", et ça, quelque soit la compilation, et j'ai
bien du le compiler une dizaine de fois avec tout un tas d'options
différentes.
Je me suis dit que ça pouvait venir d'une dépendances, j'ai donc
relancer un emerge --nodeps sur :
=sys-libs/ncurses-5.4-r5
=sys-devel/bison-1.875
Þv-lang/tcl-8.4.6
Þv-libs/glib-1.2.10-r5
=sys-libs/cracklib-2.7-r10
=sys-devel/automake-1.8.5-r1
=sys-apps/util-linux-2.12-r4
=media-libs/libpng-1.2.7
=sys-devel/libtool-1.5.2-r7
=media-libs/freetype-2.1.5-r1
=x11-misc/ttmkfdir-3.0.9-r2
=media-libs/fontconfig-2.2.3
Þv-lang/tk-8.4.6-r1
=app-arch/cpio-2.5
=sys-libs/glibc-2.3.4.20040808-r1
=media-libs/libogg-1.1.2
=media-libs/libvorbis-1.1.0
=media-libs/libsndfile-1.0.10
=media-libs/faac-1.24
=media-libs/audiofile-0.2.6-r1
=media-sound/esound-0.2.34
Þv-util/intltool-0.31.2
=media-libs/id3lib-3.8.3-r3
=media-libs/faad2-2.0-r3
=media-libs/a52dec-0.7.4-r3
=media-libs/svgalib-1.9.19-r1
=media-libs/jpeg-6b-r4
=media-libs/tiff-3.7.0
=media-libs/libungif-4.1.0.1b
=media-libs/giflib-4.1.0-r3
=media-libs/imlib2-1.1.2
=media-sound/lame-3.96.1
=media-video/ffmpeg-0.4.9_pre1

mais ça n'a rien changé.
Mon problème, c'est que je n'arrive pas à savoir si c'est un problè me
de configuration (USE, CFLAGS ou autre), ou si le problème est ailleurs .
Du coup, je tâtonne énormément, je compile à tour de bras, mais j e
n'avance pas.

--
Christophe PEREZ


--
mailing list
Avatar
Christophe Garault
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Christophe PEREZ a écrit :

Sinon, pour savoir avec quels CFLAGS il a été compilé, suffit de
relancer la compil 2 secondes pour voir comment il se compile.
Vu qu'il utilise ses CFLAGS et que tes USE flags sont identiques




Ah !



"equery uses monpaquet" est beaucoup plus propre.

- --
Christophe Garault
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)

iD8DBQFBvcDOJ5Nh3YMYAQsRAlFLAJ94cCqgxd7GgQ9MfB6ly+XXaaiHuwCfZsuh
glDmqJrlrGaxnA07dQ+mSBs =q22n
-----END PGP SIGNATURE-----


--
mailing list
Avatar
Bruno Félix
Le lun 13/12/2004 à 16:26, Christophe PEREZ a écrit :
Le Mon, 13 Dec 2004 10:52:10 +0100, Bruno Félix a écrit :



Ah ok, et j'en déduis que le fichier world ne devrait contenir que les
applications "finales" et non pas les dépendances ?


Exact.
Peut-être devrais-je alors le nettoyer vu tous les emerge que j'ai pu
lancer, non ?


ça parrait raisonnable. Ya un script qui s'appelle dep qui est dispo sur
les forums qui fait ça comme un grand.

[...]
Byte order: Little Endian
Optimizing for: pentium3 mmx mmx2 sse mtrr
[...]

C'est bien ça ?



ouais. sauf que là, ya pas de ligne de compilation...

Ok, ben j'en étais arrivé à revenir à :
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
pour mes plus récentes compilations.


Heu... perso, chuis en -O3, jamais eu de problème.


> comme indiqué sur http://gentoo-wiki.com/Safe_Cflags.
> Les optimisations mmx, sse sont tirées des USE.


Ptit addendum : ou du /proc/cpuinfo...


> tu peux aussi faire 2 3 essais de compil d'autres packages pour voir si
> -mfpmath=sse -msse -mmmx
> sont bien ajoutés par portage depuis les use, mais à mon avis, c'est le
> cas.

Ok, ça semble le cas au plus haut pour mplayer, non ?


je c po... apparement, c'est détecté plutot

Ceci dit, j'ai toujours mon ffmpeg/ffserver qui me renvoie une erreur
"floating point exception", et ça, quelque soit la compilation, et j'ai
bien du le compiler une dizaine de fois avec tout un tas d'options
différentes.


Tiens, justement, -mfpmath gère l'optimisation des opérations en virgule
flottante.
Je me suis dit que ça pouvait venir d'une dépendances, j'ai donc
relancer un emerge --nodeps sur :
=sys-libs/ncurses-5.4-r5
=sys-devel/bison-1.875
Þv-lang/tcl-8.4.6
Þv-libs/glib-1.2.10-r5
=sys-libs/cracklib-2.7-r10
=sys-devel/automake-1.8.5-r1
=sys-apps/util-linux-2.12-r4
=media-libs/libpng-1.2.7
=sys-devel/libtool-1.5.2-r7
=media-libs/freetype-2.1.5-r1
=x11-misc/ttmkfdir-3.0.9-r2
=media-libs/fontconfig-2.2.3
Þv-lang/tk-8.4.6-r1
=app-arch/cpio-2.5
=sys-libs/glibc-2.3.4.20040808-r1
=media-libs/libogg-1.1.2
=media-libs/libvorbis-1.1.0
=media-libs/libsndfile-1.0.10
=media-libs/faac-1.24
=media-libs/audiofile-0.2.6-r1
=media-sound/esound-0.2.34
Þv-util/intltool-0.31.2
=media-libs/id3lib-3.8.3-r3
=media-libs/faad2-2.0-r3
=media-libs/a52dec-0.7.4-r3
=media-libs/svgalib-1.9.19-r1
=media-libs/jpeg-6b-r4
=media-libs/tiff-3.7.0
=media-libs/libungif-4.1.0.1b
=media-libs/giflib-4.1.0-r3
=media-libs/imlib2-1.1.2
=media-sound/lame-3.96.1
=media-video/ffmpeg-0.4.9_pre1

mais ça n'a rien changé.
Mon problème, c'est que je n'arrive pas à savoir si c'est un problème
de configuration (USE, CFLAGS ou autre), ou si le problème est ailleurs.
Du coup, je tâtonne énormément, je compile à tour de bras, mais je
n'avance pas.


Y doit rester un package compilé avec tes anciens CFLAGS plus haut dans
les dépendances. Ou alors ça vient du fait que tu avais 3dnow dans tes
USE. Bref, t'as pas fini de recompiler y me semble :/

Ceci dit, tes USE et tes CFLAGS sont corrects. Tu peux y aller gaiement.



--
mailing list
Avatar
Yoann Pannier
Christophe PEREZ wrote:
Ah ok, et j'en déduis que le fichier world ne devrait contenir que les
applications "finales" et non pas les dépendances ?



C'est mieux, oui.

Peut-être devrais-je alors le nettoyer vu tous les emerge que j'ai pu
lancer, non ?



Bonne idée, pas nécéssaire, mais plus propre. Autrement emerge world
fait plus qu'il ne devrait, et emerge depclean en fait moins.

Ok, ben j'en étais arrivé à revenir à :
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
pour mes plus récentes compilations.



A mon avis, c'est très bien comme ça. Pour un desktop, je préfère -Os,
mais -O2 c'est sans problème. Ces flags te donneront un système optimisé
pour ton processeur, avec les options compatibles activés par gcc
(-march=pentium3).

Sans savoir exactement ce qu'on fait, activer d'autres options peut
avoir des effets indésirables, voir contraire à l'objectif (-O3 ou
fun-roll-loops peuvent certains softs plus rapides, mais d'autres seront
plus lent...). A mon avis, compiler tout un système en aveugle avec ce
genre d'option est une mauvaise idée.

Ceci dit, j'ai toujours mon ffmpeg/ffserver qui me renvoie une erreur
"floating point exception", et ça, quelque soit la compilation, et j'ai
bien du le compiler une dizaine de fois avec tout un tas d'options
différentes.



mais ça n'a rien changé.
Mon problème, c'est que je n'arrive pas à savoir si c'est un problème
de configuration (USE, CFLAGS ou autre), ou si le problème est ailleurs.
Du coup, je tâtonne énormément, je compile à tour de bras, mais je
n'avance pas.



Je ne sais pas d'où provient ce floating point exception, mais d'après
ce que j'ai compris, tu as changé et rechangé tes CFLAGS plusieurs fois,
y compris en y ajoutant des trucs qu'il ne fallait pas genre 3dnow. Ce
qui fait que certains paquets doivent être compilés avec des flags
inadéquats.

Vu comme ça, il me semble qu'une recompilation totale est la chose par
laquelle il faut commencer de toute façon, pour remettre les choses dans
un état normal et connu :

# emerge --emptytree --ask world

D'autre part, pour ce qui est des USEs que tu ajoutes ou/et retires au
fur et à mesure de /etc/make.conf ou de /etc/portage/package.use, pas de
problème : tu peux remettre les choses d'aplomb simplement en
recompilant seulement les packages impacté avec la commande qui suit.

# emerge --newuse --update --deep --verbose --ask world

--
Yoann Pannier

--
mailing list
Avatar
Christophe PEREZ
Le Mon, 13 Dec 2004 17:18:23 +0100, Christophe Garault a écrit :

"equery uses monpaquet" est beaucoup plus propre.



Ça, c'est pour le USE, mais notre préoccupation était plutôt le C FLAGS.

--
Christophe PEREZ


--
mailing list
Avatar
Christophe PEREZ
Le Mon, 13 Dec 2004 17:27:46 +0100, Yoann Pannier a écrit :

Christophe PEREZ wrote:
Ah ok, et j'en déduis que le fichier world ne devrait contenir que l es
applications "finales" et non pas les dépendances ?



C'est mieux, oui.



ok.

Peut-être devrais-je alors le nettoyer vu tous les emerge que j'ai p u
lancer, non ?



Bonne idée, pas nécéssaire, mais plus propre. Autrement emerge wo rld
fait plus qu'il ne devrait, et emerge depclean en fait moins.



C'est peut-être pour ça aussi que le depclean ne fait quasiment plus
rien ;-)
D'autant qu'on m'avait donné comme astuce, sur un ng, d'utiliser :
emerge -e -p world | grep ebuild | sed -e 's/[ebuild.*] /=/' >
/tmp/world.list ; emerge --nodeps `cat /tmp/world.list` ;

pour pouvoir reprendre en cas de problème pendant une compil.
Du coup, j'en déduis que la totalité des prog installés est passé e
dans mon fichier world...

CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
pour mes plus récentes compilations.



A mon avis, c'est très bien comme ça. Pour un desktop, je préfè re -Os,
mais -O2 c'est sans problème. Ces flags te donneront un système opt imisé
pour ton processeur, avec les options compatibles activés par gcc
(-march=pentium3).



Ok, ben je crois que dorénavant, ça restera comme ça, sauf certitud e
future sur autre chose.

Sans savoir exactement ce qu'on fait, activer d'autres options peut
avoir des effets indésirables, voir contraire à l'objectif (-O3 ou
fun-roll-loops peuvent certains softs plus rapides, mais d'autres seron t
plus lent...). A mon avis, compiler tout un système en aveugle avec c e
genre d'option est une mauvaise idée.



J'avoue ne plus savoir finalement comment tout a été compilé tellem ent
j'ai compilé, et essayer d'options.
Ceci dit, à ma décharge, j'ai au départ installé cette gentoo jus te
pour voir de quoi il en retournait suite à des post élogieux sur des ng,
mais je comptais bien l'effacer de suite.
Mais, je me suis pris au jeu, et je ne veux plus la quitter ;-)
Or, comme au fur et à mesure, je l'ai pas mal configuré, je n'ai pas
trop envie pour l'instant de tout refaire proprement, je préférerais
tout recompiler.

Je ne sais pas d'où provient ce floating point exception, mais d'aprè s
ce que j'ai compris, tu as changé et rechangé tes CFLAGS plusieurs fois,
y compris en y ajoutant des trucs qu'il ne fallait pas genre 3dnow. Ce
qui fait que certains paquets doivent être compilés avec des flags
inadéquats.



C'est ce que je me dis aussi.
Mais en même temps, il m'a été dit que le 3dnow n'avait pas d'influ ence
sur mon Céléron.

Vu comme ça, il me semble qu'une recompilation totale est la chose pa r
laquelle il faut commencer de toute façon, pour remettre les choses d ans
un état normal et connu :

# emerge --emptytree --ask world



Avant ou après nettoyage du fichier world ?
De toutes les façons, pour ça, il faut d'abord que je récupère de la
RAM, car pendant toutes mes install, une barrette m'a lâché (mais j'a i
tout recompilé après avoir fait ce constat, donc ça ne peut pas
provenir de là, enfin je pense), et avec mes 256Mo, compiler pendant qu e
je bosse me gêne parfois un petit peu.

D'autre part, pour ce qui est des USEs que tu ajoutes ou/et retires au
fur et à mesure de /etc/make.conf ou de /etc/portage/package.use, pas de
problème : tu peux remettre les choses d'aplomb simplement en
recompilant seulement les packages impacté avec la commande qui suit.

# emerge --newuse --update --deep --verbose --ask world



Oui, ça je sais, et en abrégé : emerge --newuse -Dva world :-)

--
Christophe PEREZ


--
mailing list
1 2 3