2009-11-21 15 views
11

Sto usando Mac OS X 10.5.8 e voglio compilare per destinazione CentOS 5.3 con GCC 4.1.2. Come posso:Come eseguire la compilazione incrociata da Mac OS X a Linux x86?

  1. Compilare GCC 4.1.2 toolchain e strumenti correlati?
  2. Utilizzare quello strumento per compilare il cross per CentOS 5.3 di destinazione?

Qualsiasi aiuto è molto apprezzato!

+0

Quale soluzione ha si finisce per andare con? – sAguinaga

risposta

9

La soluzione più semplice è eseguire CentOS 5.3 in una VM (ad es. Sun VirtualBox). Ciò richiede un setup minimo, ha un overhead abbastanza ragionevole (supponendo un Mac Intel), e potrai effettivamente effettuare il test e eseguendo il debug di quello che stai creando.

Se si vuole davvero eseguire la compilazione incrociata, è necessario creare un cross-compiler. Le istruzioni sono here e here, ma attenzione: probabilmente ci vorranno diversi giorni per farlo bene, e quindi sarà ancora bisogno di una VM per testare il risultato, quindi non vedo alcun punto nel farlo in quel modo .

+1

grazie per la tua risposta. sì, il tuo suggerimento suona bene: D Спасибо! – Viet

+0

C'è anche [crosstool-ng] (http://crosstool-ng.org/), tuttavia la mia esperienza con quella su OS X è stata un po 'dolorosa in quanto richiedeva la costruzione di un'immagine disco sensibile al maiuscolo/minuscolo se è stato fatto su un FS che protegge il caso come è il default di HFS +, e si deve installare un certo numero di GNU o versioni aggiornate di alcune utilità di sistema per tentare una build su OS X. –

0

Puoi usare crosstool-ng, o se non vuoi spendere troppo tempo per configurarlo, puoi scaricare un cross-compilatore preconfigurato, come Linaro . Ecco il guide per l'installazione in Mac OS X.

+1

I toolchain di Linaro sono per ARM. L'OP stava cercando x86. –

1

ho lottato per ottenere CrossTool-ng di costruire su OSX 10.9 per Linux x86_64. Ho usato il post molto utile su how to build a gcc cross-compiler di Jeff Preshing e il suo script here come base per uno script che ha funzionato per me. Il suo script nel link non funziona quando compila glibc sulla mia versione di OSX (che sembra essere un reclamo molto comune per quelle cross-compiling da OSX a Linux).

Il mio script è qui: https://github.com/johnlondon/Cross-compile-toolchain-for-linux-on-OSX