2009-11-21 13 views
11

Ich verwende Mac OS X 10.5.8 und möchte für CentOS 5.3 mit GCC 4.1.2 kompilieren. Wie könnte ich:Wie kompiliert man von Mac OS X auf Linux x86?

  1. Kompilieren GCC 4.1.2 Toolchain und verwandte Tools?
  2. Verwenden Sie dieses Tool, um für Ziel CentOS 5.3 zu kompilieren?

Jede Hilfe wird sehr geschätzt!

+0

Welche Lösung haben Sie mit am Ende gehen? – sAguinaga

Antwort

9

Ihre einfachste Lösung besteht darin, CentOS 5.3 einfach in einer VM auszuführen (z. B. Sun VirtualBox). Dies erfordert minimale Einrichtung, hat ziemlich vernünftigen Aufwand (unter der Annahme eines Intel-Mac), und Sie können tatsächlich Test und debug was Sie bauen.

Wenn Sie wirklich auf Cross-Compiling bestehen, müssen Sie einen Cross-Compiler erstellen. Anweisungen sind here und , aber Vorsicht: es dauert wahrscheinlich mehrere Tage, um es richtig zu machen, und dann werden Sie immer noch brauchen eine VM, um das Ergebnis zu testen, so sehe ich keinen Sinn darin, es so zu tun .

+1

danke für Ihre Antwort. Ja, dein Vorschlag klingt gut: D Спасибо! – Viet

+0

Es gibt auch [crosstool-ng] (http://crosstool-ng.org/), aber meine Erfahrung mit OS X war ein bisschen schmerzhaft, da es innerhalb einer case-sensitiven Disk Image erstellt werden musste (es war eine Anpassung wenn es auf einem fallbewahrenden FS gemacht wurde, wie es der HFS + Standard ist, und man muss eine Reihe von GNU oder aktualisierte Versionen bestimmter Systemprogramme installieren, um einen Build auf OS X zu versuchen. –

0

Sie können Crosstool-ng verwenden, oder wenn Sie nicht zu viel Zeit für die Konfiguration verwenden möchten, können Sie einen vorkonfigurierten Cross-Compiler herunterladen, wie Linaro . Hier ist die guide es in Mac OS X.

+1

Die Linaro Toolchains sind für ARM. Der OP suchte nach x86. –

1

Installation I cross-ng bekommen kämpfte auf OSX 10.9 für x86_64 Linux zu bauen. Ich benutzte den sehr hilfreichen Beitrag von Jeff Preshing auf how to build a gcc cross-compiler und sein Skript here als Basis für ein Skript, das für mich funktionierte. Sein Skript in dem Link funktioniert nicht, wenn ich glibc auf meiner Version von OSX kompiliere (was eine sehr häufige Beschwerde für die Kreuzkompilierung von OSX nach Linux zu sein scheint).

Mein Skript ist hier: https://github.com/johnlondon/Cross-compile-toolchain-for-linux-on-OSX