J'ai déjà posé cette question sur Stack Overflow, mais j'aimerais savoir si quelqu'un a réussi à créer une chaîne d'outils GCC 4.7 pour la compilation croisée ARM (pour un hôte Linux x86 / x86-64). Il existe de nombreuses instructions pour construire GCC à partir des sources et de nombreux compilateurs croisés disponibles pour les versions de GCC antérieures à la version 4.7, mais pas les plus récentes.
Compiler sur Rasp Pi lui-même fonctionne bien, mais c'est un peu trop lent pour des raisons pratiques.
Je suis impatient de compiler et j'aimerais utiliser les outils les plus récents et les meilleurs.
Réponses:
J'ai trouvé ces instructions Comment construire un compilateur croisé pour votre Raspberry Pi . C’est une excellente méthode pour utiliser un
crosstool-ng
outil qui simplifie la configuration d’un compilateur croisé construit A BEAUCOUP (il a une belle interface à base de curses) et supporte GCC 4.7.J'ai suivi ces étapes et abouti à la construction réussie d'un compilateur croisé 4.7.
crosstool-ng
partir d' ici (j'ai utilisé la version 1.15.2)../configure
/make
/install
cd
.ct-ng menuconfig
. Vous serez présenté avec un bel ensemble de menus pour configurer votre construction.Choisissez un répertoire préfixe approprié . Ceci est le répertoire dans lequel votre compilateur et vos bibliothèques seront installés (tout fonctionne normalement, assurez-vous simplement que le répertoire est vide).
Allez dans le menu d' options de cible .
Vous pouvez également vouloir définir le paramètre virgule flottante sur softfp (voir ceci pour plus d’informations), mais hardfp est plus approprié pour Raspbian.
Aller au menu C-bibliothèque et en choisir un. La valeur par défaut est eglibc, mais celle-ci ne fonctionnant pas bien pour moi, j'ai donc utilisé glibc (la version la plus récente).
crosstool-ng
ct-ng build
dans le même répertoire. Attendez un peu (environ 45 minutes dans mon cas) et votre compilateur croisé devrait être prêt.Semble travailler très bien!
la source
En fait, les outils les plus récents et les meilleurs ne doivent pas nécessairement être créés par vous-même. Sur l' outil Raspberry Pi GitHub Repository vous trouverez
X86_64
etx686
toolchains pour le logiciel de compilation croisée.Je recommande d'utiliser la
x86-linux64-cross-arm-linux-hardfp
chaîne d'outils, car cela compilera pour Hard Floating Point, ce qui donnera un système beaucoup plus rapide.Remarque: Si vous utilisez un noyau existant, vous devrez utiliser la chaîne d'outils qui correspond au noyau. Les applications HardFP ne fonctionneront pas sur un noyau SoftFP.
Pour utiliser la boîte à outils, il suffit de consulter le référentiel:
Ce
--depth
paramètre signifie que vous ne devez pas attendre que l'historique du référentiel soit également téléchargé (car nous ne l'utilisons pas).Ajoutez ensuite les fichiers binaires à votre variable PATH:
Ou pour persister le CHEMIN:
Pour compiler avec la chaîne d’outils, vous pouvez maintenant ajouter le
CROSS_COMPILE
paramètre. Par exemple, lors de l'exécutionmake
:Ou pour simplifier les choses, vous pouvez enregistrer la variable dans
bashrc
:et utilisez maintenant la variable lors de la compilation:
la source
Notez que lors de la construction de la chaîne d’outils à l’aide de ct-ng sur centos 6.3 sur un système 64 bits, j’ai été obligé de désélectionner l’option permettant de lier statiquement libstdc ++ car la liaison statique n’était pas prise en charge sur la plate-forme (apparemment).
De plus, bien qu'il soit intéressant d'utiliser la chaîne d'outils prédéfinie du référentiel git, cette chaîne ne semble pas fonctionner sur Centos 6.3 - probablement parce qu'elle est conçue pour un système plus moderne. Je n'ai pas vraiment essayé de minimiser cela.
la source
Ce guide peut être utile.
Cela m'a aidé à démarrer le mien. J'ai également ajouté quelques commentaires sur le réglage.
la source
Si vous souhaitez bénéficier d'un hôte rapide pour la compilation d'éléments pour votre RPI, je vous suggère de travailler en environnement croisé via chroot et QEMU. En passant, ceci remplace un compilateur croisé sans tracas.
Configurez simplement un environnement multi-Debian à l'aide de deboostrap / multistrap
(voir le chapitre Approche QEMU / debootstrap) et vous avez terminé.
la source
Dans le cas où vous allez effectuer une compilation croisée à partir d’OS X: voici le superbe article (et le seul qui m’ait trouvé sur le Web).
Le plus grand avantage est que l'auteur fournit une chaîne d'outils complète et précompilée . Vous n'avez donc qu'à télécharger, décompresser et monter une image dmg. Et c'est tout, vous êtes prêt à effectuer une compilation croisée.
la source
Si vous avez installé Ubuntu 64 bits edition et les outils de Raspberry Pi SVN et que vous obtenez le message d'erreur:
il suffit de courir:
la source
Carlson-Minot Inc. fournit une chaîne d'outils prédéfinie pour les cibles ARM à la fois nues et GNU / Linux. Cette chaîne d’outils est basée sur la chaîne d’outils de Mentor Graphics Sourcery Lite avec des correctifs et des adoptions pour la construction sur OS X. Voir
la source