Ich verwende ausschließlich Homebrew (dh ich verwende weder MacPorts noch Fink). Ich möchte auch manuelle Installationen auf ein Minimum beschränken. 1
… Aber wie kann ich GCC installieren?
Zunächst habe ich natürlich Xcode installiert, aber die aktuelle Version wird nicht mit einem anständigen, aktuellen GCC ausgeliefert (ich benötige mindestens 4.5, würde aber den neuesten vorziehen) - tatsächlich wird sie nicht ausgeliefert mit einem richtigen GCC überhaupt (es wird nur Clang ausgeliefert) und das scheint ein Problem für Homebrew zu sein ...
Mir ist eine Liste von benutzerdefinierten GCC- und Cross-Compilern bekannt, aber tatsächlich erfordern alle diese Installationen ein bereits installiertes GCC. Zumindest brew
schlägt dies mit Linker-Fehlern auf Lion fehl, die ich Clang zuschreibe, und -use-gcc
sie funktionieren offensichtlich nicht Gründe dafür.
brew doctor
Erwähnt nur, was ich bereits weiß, dass kein GCC (4.2.x) installiert ist.
1 Ich habe vorher MacPorts, Homebrew und einige manuelle Installationen gemischt und hatte eine Hölle mit Wartung und Versionierung. Ich möchte nicht wieder dorthin gehen.
gcc --version
? Ich bekommei686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
und installiere einfach Xcode vom MAS. Auch was ist die Ausgabe vonecho $PATH
?$PATH
ist das Übliche (das ist immerhin ein fast leeres System):/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
… aber ich denke nicht, dass das wichtig ist. Die von homebrew-alt bereitgestellten Formeln sind einfach veraltet und funktionieren nicht mit Clang.Antworten:
Die Lösung von @Konrad Rudolph ist nicht mehr ganz korrekt, da die von ihm erwähnte GCC-Formel von
homebrew/dupes
nach verschoben wurdehomebrew/versions
. Sie können auswählen, welche Version von GCC installiert werden soll. Zum Zeitpunkt der Erstellung dieser Antwort sind beispielsweise die Versionen 4.5, 4.7 und 4.8 verfügbar. Sie können hier nachschauen, welche Versionen verfügbar sind .Kurz gesagt, Sie können GCC 4.8 mithilfe von installieren
Mit können Sie die verfügbaren Installationsflags anzeigen
quelle
gcc-4.8 hello.c
gcc-4.8: error trying to exec 'as': execvp: No such file or directory
[flags]
? Auf meinen Rechnern habe ich keine Flags installiert und es funktioniert einwandfrei. Warum versuchen Sie nicht,gcc-4.8
ohne Eingabedatei aufzurufen und zu prüfen, ob ein schwerwiegender Fehler auftritt? Versuchen Sie auch, festzustellen,ls /usr/local/Cellar/gcc48/4.8.0/bin
ob dieses Verzeichnis enthältgcc-4.8
.gcc-4.8 --version
, kann jedoch nicht auf das genannte sekundäre Tool ausgeführt werdenas
und stirbt daher ab.alias g++='g++-4.8'
in deinem.bashrc
.Homebrew-Lösung
Um meine eigene Frage zu beantworten, hat
homebrew-versions
jetzt eine ziemlich aktuelle Formel von GCC . Es kann mit installiert werdenWo
[flags]
sollen alle benötigten Sprachen enthalten sein, zB (--enable-cxx --enable-fortran
).Dadurch werden die ausführbaren Dateien mit einem Suffix installiert, dh es
gcc
muss darauf zugegriffen werdengcc-version
, um Konflikte zu vermeiden. Bei Bedarf können entsprechende Symlinks erstellt werden, um diese Version als Standard festzulegen.Manuelle Installation
Alternativ kann ein aktueller GCC (zum Zeitpunkt des Schreibens) mithilfe des folgenden Shell-Skripts manuell kompiliert werden :
Dadurch wird GCC in den Pfad eingeführt
/usr/gcc-4.7.0
. Jetzt müssen Sie nur noch Symlinks zu den ausführbaren Dateien erstellen oder dasbin
Verzeichnis zur$PATH
Variablen hinzufügen .quelle
brew tap homebrew/dupes
gefolgt vonbrew install apple-gcc42
. Dies half mir, einen funktionierenden GCC und Wein zu bekommen. Sie können die Binaries auch hier herunterladenbrew tap homebrew/dupes; brew install gcc --use-llvm
. Siehe github.com/Homebrew/homebrew-dupes/issues/20Ich habe heute jemanden gesehen, der auf diesen alten Beitrag verweist. Der beste Weg, um GCC jetzt in Homebrew zu installieren, ist einfach
brew install gcc
. Wenn Sie die XCode-Befehlszeilentools (die nicht mit XCode identisch sind, sondern mit denen Sie sie installieren könnenxcode-select --install
) installiert haben, wird eine vorkompilierte Version installiert (die sehr schnell ist).quelle
Auch ich hatte dieses Problem. Außerdem muss ich gfortran verwenden, was mit der (veralteten) Standardinstallation von llvm-gcc auf dem Mac nicht mitgeliefert wird.
Ich habe festgestellt, dass die High Performance Computing- Builds von gcc auf dem neuesten Stand sind und bei Lion hervorragend funktionieren.
quelle
Falls sich jemand diesen alten Thread ansieht, scheint es, dass Homebrew / Versionen, die in der derzeit akzeptierten Antwort verwendet werden, zugunsten von Homebrew / Core veraltet sind . Renn einfach .
brew install <formula>
quelle
Möglicherweise versuchen Sie Folgendes: https://github.com/kennethreitz/osx-gcc-installer. Ich habe es nach dem Upgrade auf Lion erfolgreich verwendet, um Pakete mit Homebrew und anderen (Ruby) zu kompilieren.
Aus dem lies mich:
OSX GCC-Installationsprogramm Das Herunterladen und Installieren des umfangreichen Xcode-Installationsprogramms ist sehr mühsam, wenn Sie nur GCC und verwandte Tools benötigen.
Mit dem osx-gcc-installer können Sie die wesentlichen Compiler entweder aus vorgefertigten Binärpaketen installieren oder Ihren eigenen Installer erstellen.
quelle
/usr/bin/gcc
ist ein Symlink zu llvm gcc, aber ein expliziter Verweis auf/usr/bin/gcc-4.2
oder eine Einstellungexport CC="gcc-4.2"
in Ihrem .bash_profile oder einer geeigneten Datei mildert das Problem ebenfalls. (Siehe auch diese