Question

Je suis sous Mac OS X 10.5.8 et que vous voulez compiler pour cible CentOS 5.3 avec GCC 4.1.2. Comment pourrais-je:

  1. compiler GCC 4.1.2 toolchain et des outils connexes?
  2. Utilisez cet outil pour une compilation croisée pour cible CentOS 5.3?

Toute aide est grandement appréciée!

Était-ce utile?

La solution

Votre solution la plus simple est de simplement exécuter CentOS 5.3 dans une machine virtuelle (par exemple Sun VirtualBox ). Cela nécessite une configuration minimale, dispose d'une charge tout à fait raisonnable (en supposant un Mac Intel), et vous serez en mesure de réellement test et debug ce que vous construisez.

Si vous insistez vraiment sur la compilation croisée, vous devez construire un compilateur croisé. Les instructions sont et

Autres conseils

Aujourd'hui, vous pouvez probablement le faire avec Docker pour Mac , je n » ai pas t le tester parce que je n'ai pas mac. Docker crée essentiellement une machine virtuelle Linux et offre quelques belles à avoir des fonctions.

Installer docker et préparer votre image construire.

  • install docker
  • lancer un nouveau conteneur avec docker run -ti centos5.3 /bin/bash (recherche Docker Hub pour votre cible souhaitée)
  • installer votre version gcc désirée (quelque chose comme sudo yum group install "Development Tools")
  • sortir votre conteneur
  • run docker ps -a pour obtenir votre identifiant de conteneur
  • sauvegarde de votre conteneur en tant qu'image de construction de base docker commit [id] centos:build

Faire un build

Maintenant, vous pouvez utiliser votre environnement de construction créé pour CentOS construit.

  • pour commencer votre environnement de construction lors du montage du répertoire de travail à l'intérieur, vous pouvez utiliser quelque chose comme docker run -it --mount type=bind,source=$(pwd),target=/mnt centos:build /bin/sh -c "cd /mnt && bash"
  • puis exécutez gcc ... ou ./configure ou make ou ninja ou autre pour faire votre build
  • vous pouvez également exécuter des tests automatisés ici si vous avez écrit une

Docker vs VM

Avec docker vous pouvez utiliser un terminal bien-aimé avec votre thème familier et keymap. En outre, il sera très probablement consommer moins de ressources pour le démarrage et lors de l'exécution.

Si votre application est graphique et vous tester en utilisant l'interaction avec son interface graphique, je suppose une machine virtuelle est toujours une meilleure option (voir @ solution est employée russe).

Vous pouvez utiliser crosstool-ng, ou si vous ne voulez pas passer trop de temps pour le configurer, vous pouvez télécharger un compilateur croisé pré-configuré, comme Linaro. Voici le pour guider l'installation dans Mac OS X.

J'eu du mal à obtenir crosstool-ng pour construire sur OSX 10.9 pour Linux x86_64. Je poste très utile sur comment construire un compilateur croisé gcc par Jeff Preshing et son script ici comme base d'un script qui a fonctionné pour moi. Son script dans le lien ne fonctionne pas lors de la compilation glibc sur ma version de Mac OS X (ce qui semble être une plainte très commune pour ceux de la compilation croisée de Mac OS X à Linux).

Mon script est ici: https://github.com / johnlondon / Cross-compilation-toolchain-linux-pour-sur-OSX

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top