Forum Linux.gentoo Distcc et la compilation croisée

Posté par .
Tags : aucun
0
4
mai
2005
Bonjour,
voila, j'ai un amd athlon xp 2500+ ainsi qu'un amd k6-2 350Mhz et j'aurai voulu pouvoir faire de la compilation croisée afin que mon athlon xp puisse aider le k6 a compiler.
J'ai donc installer distcc, mais puisque les deux pc n'ont pas la meme architecture la compilation croisée ne fonctionne pas( erreur lors de l'emerge, il ne reconnait pas les object files).
toujours est'il que j'ai chercher a comprendre comment faire avec google, et j'ai comprit ou a peu près qu'il fallait creer une cross toolchain, dont je n'ai pas très bien compris l'utilitée.
J4ai essayer avec ce tutorial : http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO(...) , mais sans succès, de plus mon anglais étant plutot limité, je ne suis aps sur d'avoir tout fait comme il faut.
toujours est-il que je ne trouve pas de tutos très explicite quand a la manière de faire du cross compiling avec distcc. La plupart se résument a dire ce qu'ils ont fait sans jamais expliquer commen faire, lorsqu'on connait pourquoi sa doit etre surrement facile de modifier un tuto pour ses besoins, mais moi je n'y arrive pas car personne n'explique vraiment comment sa marche.
Si quelqu'un serai capable de m'expliquer en détail comment marche la compilation croisée, et comment la mettre en oeuvre sur n'importe quel type de machine cela m'aiderai fortement.

Merci, en attente de vos réponses
  • # cflags?

    Posté par . Évalué à 1.

    et si tu modifies les CFLAGS pour mettre qqch comme mcpu=k6-2 ? (man gcc est ton ami)
  • # AMHA

    Posté par . Évalué à 2.

    J'ai donc installer distcc, mais puisque les deux pc n'ont pas la meme architecture la compilation croisée ne fonctionne pas( erreur lors de l'emerge, il ne reconnait pas les object files).
    je ne connais pas distcc mais j'ai pas trop l'impression que le message d'erreur signifie cela.
    Si il ne reconnait pas le format des objets ce ne serait pas plutot parce que les deux machines utilises des version de gcc differentes ?
    Sinon sous gcc tu peut specificier en ligne de commande pour quelle architecture tu compile (mais je ne crois pas que les K6 et XP soit tres different sauf au niveau des quelques instruction assembleur)
  • # make.conf ?

    Posté par (page perso) . Évalué à 2.

    Peut etre avec les variables CHOST et CFLAGS positionnés dans ton /etc/make.conf.

    Avec genre -march=LaValeurQuiVabien dans la chaine du CFLAGS et CHOST="LAutreValeurQuiVaBien"

    Il faut peut etre voir pour que GCC soit compilé avec les outils necessaire a la compilation croisée (enfin si il y en a).

    De plus il faut des GCC de version tres proches voir identique, sinon il peut y avoir des problemes.
    De meme sur le meme type d'archi (P4 et Xeon) il m'arrive d'avoir des programes qui ne supportent le fait d'etre distccisés (apres c'est peut etre moi qui merde qque part)
  • # Expérience perso

    Posté par . Évalué à 1.

    Personnelement j'essaye d'utilisé crossdev qui génère un environement de cross compil lui meme. Ca permet entre autre de pas forcement utilisé le même gcc sur les deux machine (enfin indirectement car on utilise le gcc du l'env de cross). J'arrive a de bon résultats pour le moment.

    faut par contre imposer les variables suivantes dans /etc/macke.conf

    CC="distcc <compilateur de la cible générer par crossdev>"
    CXX="distcc <compilateur de la cible générer par crossdev>"

    moi j'e cross compil de k7 vers i386, ca donne

    par ex:

    CXX="distcc i386-pc-linux-g++"

    ... bonne continuation.

    Oxy
    • [^] # Re: Expérience perso

      Posté par . Évalué à 1.

      Oki,
      j'ai utiliser ccrossdev finalement aussi, j'ai donc créer mon environnement de développement pour distcc.
      cela semble fonctionner, maintenant j'ai des problèmes a compiler X, mais je ne l'aborderait pas ici.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.