# [HOWTO] DistCC, cross compiling (en travaux)

## Saigneur

Hello

Je cherche à accélérer un peu les compilations sur mon portable grâce à mon ordi de bureau. Je me suis donc naturellement penché sur le cross compiling, et sur les HOWTO que j'ai pu trouver. (Celui là, principalement, et d'autres topics de ce forum). Malheureusement, je ne comprend pas grand chose : "(1) Pick your target.  Any valid 'CHOST' will do.  I will be 

using 'hppa2.0-unknown-linux-gnu'.", ça ne me parle pas beaucoup : que comprendre par "pick you target" ?

Enfin bref. Je propose de faire un howto aussi complet et explicatif que possible, en français, et qui fonctionne.

A l'issue, je compilerai toutes les infos pour en faire un HOWTO sur gentoo-wiki, et ici.

J'attend vos contributions, on part du HOWTO d'origine :

 *Quote:*   

> HOWTO BUILD A CROSS COMPILER WITH EMERGE !
> 
> ----------------------------------------------------
> 
> Before you read any further, you should try using 'crossdev' 
> ...

 

crossdev : obsolète ou pas ?

Edit : 

Je vais peut-être partir de ça : http://216.239.59.104/search?q=cache:3GkLnBW9PTsJ:www.sable.mcgill.ca/~dbelan2/crossdev/crossdev-powerpc-i686.html Si ça fonctionne, ce sera la base de départ. :Very Happy: 

----------

## kopp

Je suppose que le CHOST qu'on te dit de prendre : c'est le type de chost pour lequel tu veux compiler non ? enfin c'est comme ça que je le comprends ....

Sinon c'est une bonne idée

Faudrait commencer par traduire tout ça, mais là j'ai pas le temps! Si dès quej'ai du temps dispo, ça n'a pas été fait, je veux bien m'en occuper, mais n'attendez pas ça va être long....

----------

## anigel

Ca fait déjà un bon moment que ce HOWTO officiel est disponible. Il est à jour, et plutôt bien conçu. Une simple traduction devrait suffire ?

Avec, à la limite, un paragraphe supplémentaire sur ccache, et basta ?

----------

## -KuRGaN-

 *Anigel wrote:*   

> Ca fait déjà un bon moment que ce HOWTO officiel est disponible. Il est à jour, et plutôt bien conçu. Une simple traduction devrait suffire ? 

 

Mais il y a déjà une traduction de disponible ici

----------

## Saigneur

Hola  :Smile: 

Non, ce qui est dispo, c'est la façon d'utiliser distcc, pas de faire du cross compiling (compilation d'un pentium pour un athlon, voire d'un SPARC ou autre architecture). Et là dessus, on nous invite juste à aller faire un tour sur le Cross compile HOWTO.

Moi c'est ce dernier document, que je veux faire / trouver s'il existe (en langage clair, et français, et expliqué (histoire de ne pas appliquer bêtement mais de comprendre ce qui est fait))

Nieur, éternel n00b

----------

## cylgalad

Je compile tout sur mon Pentium 2 avec distcc utilisant mes deux Athlon XP, ce sont tous des x86, pas de compilation croisée  :Very Happy: 

Maintenant, pour faire de la vraie compilation croisée avec distcc, ça n'est pas compliqué : déjà il faut avoir tout ce qu'il faut pour compiler, ensuite il faut configurer un 2ème distcc avec un port différent (enfin si tu veux garder un distcc x86...) et le bon chemin vers les outils de compilation.

----------

## anigel

Bizarre tout ça, il me semblait que distcc prenait tout ça en charge sans config particulière, à condition que le gcc utilisé permettait le build pour l'architecture visée ?

J'ai plusieurs machines avec des march différentes, et cela n'a jamais posé de problème (ie : je n'ai jamais retrouvé sur mon P3 des softs compilés avec les instruction SSE2 de mon P4). Mais j'avoue que je ne m'étais jamais posé la question. Cela prouve-t'il que ça marche par défaut ? Ou bien que j'ai eu beaucoup de chance ?

 :Laughing: 

----------

## cylgalad

Je me répète : un Pentium ou un Pentium 2 ou un Pentium 3 ou un Pentium 4 ou un Athlon (XP ou pas) ou un Celeron ou un Sempron, etc... tout ça c'est du x86 donc les mêmes outils de compilation (seuls les CFLAGS changent).

Par contre un compilo x86 ne compilera jamais pour du PowerPC ou du SPARC ou du MIPS ou tout ce que vous voulez qui ne soit pas du x86.

----------

## Saigneur

 *cylgalad wrote:*   

> Je me répète : un Pentium ou un Pentium 2 ou un Pentium 3 ou un Pentium 4 ou un Athlon (XP ou pas) ou un Celeron ou un Sempron, etc... tout ça c'est du x86 donc les mêmes outils de compilation (seuls les CFLAGS changent).
> 
> Par contre un compilo x86 ne compilera jamais pour du PowerPC ou du SPARC ou du MIPS ou tout ce que vous voulez qui ne soit pas du x86.

 

Quid des optimisations (CHOST et compagnie) pour le pentium4, etc ? Il faut bien dire sur l'Athlon "attention, tu va compiler avec des options de compilation Pentium 4", sinon autant télécharger le binaire de l'appli et ne pas s'emmerder à la compiler aux petits oignons ?

Nieur, ignorant donc à l'écoute.

----------

## -KuRGaN-

Ben désolé, j'avais pas compris la notion d'architecture.

Donc je pourrai compiler avec mon x86_64 des paquets pour mon x86 en gros ?????,,,

Si oui, alors go go go !!

----------

## cylgalad

 *Saigneur wrote:*   

>  *cylgalad wrote:*   Je me répète : un Pentium ou un Pentium 2 ou un Pentium 3 ou un Pentium 4 ou un Athlon (XP ou pas) ou un Celeron ou un Sempron, etc... tout ça c'est du x86 donc les mêmes outils de compilation (seuls les CFLAGS changent).
> 
> Par contre un compilo x86 ne compilera jamais pour du PowerPC ou du SPARC ou du MIPS ou tout ce que vous voulez qui ne soit pas du x86. 
> 
> Quid des optimisations (CHOST et compagnie) pour le pentium4, etc ? Il faut bien dire sur l'Athlon "attention, tu va compiler avec des options de compilation Pentium 4", sinon autant télécharger le binaire de l'appli et ne pas s'emmerder à la compiler aux petits oignons ?
> ...

 

Dans ton CFLAGS tu as des -march, -mcpu, -mmmx, -msse, -m3dnow, etc... qui disent au compilo et à l'assembleur pour quel type de processeur ils doivent compiler/assembler, or gcc en x86 connaît tous les processeurs 32 bits (pour un 286 ou 8086/8088/z80... ça ne marchera jamais  :Very Happy: )

Par contre n'ayant pas de x86-64 je ne peux pas confirmer si ça marche aussi (un amd64 devrait pouvoir compiler du 32 bits je suppose mais dans l'autre sens ça ne doit pas marcher  :Question: )

----------

## -KuRGaN-

 *cylgalad wrote:*   

> Par contre n'ayant pas de x86-64 je ne peux pas confirmer si ça marche aussi (un amd64 devrait pouvoir compiler du 32 bits je suppose mais dans l'autre sens ça ne doit pas marcher )

 

Ben vu que tu peu faire tourner du 32bits sur un x86_64 tu peux forcément compiler en 32bits  dessus!

----------

## kabutop

Hello,

Je viens d'installer distcc sur ma gentoo et sur 2 serveurs debian (bi-xéon 3,4Go) et un ubuntu (P4 2Go).

Ca marche plutôt pas mal   :Very Happy: 

Je pensais faire un petit HowTo ici, mais c'est déjà fait ! Pour les curieux, jetez un oeil à ce billet.

A+

----------

