# [GCC] Compilation de gcc sur un thread ? (resolu)

## dapsaille

Bonjour à tous .

 Voila j'ai voulu recompiler ma gentoo sur le quadcore 

mais j'ai l'impression que malgré le makeopts"-j12" 

(ouais je sais je suis optimiste mais y'as un ramdisk derrière ^^)

il ne lance qu'un thread cc1 la ou il devrait y avoir une pelletée au top ...

 est-ce que la compilation de gcc ne se fait que sur 1 thread ?

(je parle de la compilation de gcc par gcc pas d'une compilation quelqu'onque avec gcc .. vous suivez ? ^^)Last edited by dapsaille on Thu May 01, 2008 3:55 pm; edited 1 time in total

----------

## billiob

s/thread/processus/  :Smile: 

Le fait que la compilation se fasse sur plusieurs processus vient surtout du makefile.

Chez moi non plus, la compil de gcc n'est pas parallélisée.

----------

## dapsaille

 *billiob wrote:*   

> s/thread/processus/ 
> 
> Le fait que la compilation se fasse sur plusieurs processus vient surtout du makefile.
> 
> Chez moi non plus, la compil de gcc n'est pas parallélisée.

 

Damned .. ne me reste plus qu'à chercher le pourquoi du comment (un peu comme pour genkernel .. pas tapper pas tapper ^^)

----------

## YetiBarBar

J'ai plus la source sous la main, mais je me rappelle vaguement avoir lu à quelque part que gcc n'appréciait vraiment pas d'être compilé avec autres choses qu'un -j1 en tant que MAKE_OPTS.

----------

## dapsaille

 *YetiBarBar wrote:*   

> J'ai plus la source sous la main, mais je me rappelle vaguement avoir lu à quelque part que gcc n'appréciait vraiment pas d'être compilé avec autres choses qu'un -j1 en tant que MAKE_OPTS.

 

C'est ce que j'ai cru comprendre .. 

mais pour pousser mémé dans les orties je vais me faire un 'tit chroot et modifier l'ebuild pour secouer le prunier :p

----------

## YetiBarBar

Autant pour moi, je viens de vérifier sur le site de gcc et ils disent :

 *Quote:*   

> Building in parallel
> 
> GNU Make 3.79 and above, which is necessary to build GCC, support building in parallel. To activate this, you can use `make -j 2' instead of `make'. You can also specify a bigger number, and in most cases using a value greater than the number of processors in your machine will result in fewer and shorter I/O latency hits, thus improving overall throughput; this is especially true for slow drives and network filesystems. 

 ça doit donc être jouable ...

----------

## xaviermiller

salut,

Vu que GCC est à la base de tout, je laisserais le "-j1" pour la compil de celui-ci. Ca ne dure pas si longtemps...

----------

## Leander256

Bah ce n'est pas dangereux d'activer la parallelisation de la compilation, ca risque juste de la faire planter si jamais les dependances ont mal ete resolues et que gcc essaye de linker un fichier .o non encore compile, ou d'utiliser un .h non encore genre, ce genre de choses.

----------

## xaviermiller

sauf si le makefile est foireux, et lors du link fait une opération genre "linke-moi tous les fichiers compilés", sans vérifier qu'ils le sont tous...

Et alors là, on a des libs et binaires cassés...

Voilà pourquoi les devs Gentoo préfèrent MAKEOPTS="-j1" pour les ebuilds sensibles  :Wink: 

----------

