Używam wyłącznie Homebrew (tzn. Nie używam MacPorts ani Fink). Chcę również ograniczyć ręczne instalacje. 1
… Ale jak mogę zainstalować GCC?
Po pierwsze, oczywiście zainstalowałem Xcode, ale obecna wersja nie jest dostarczana z przyzwoitym GCC (potrzebuję co najmniej 4.5, ale wolałbym najnowszą) - w rzeczywistości nie jest wysyłany z odpowiednim GCC na wszystkich (tyle że statki dzyń) i który wydaje się być problemem dla Homebrew ...
Znam listę niestandardowych GCC i kompilatorów krzyżowych, ale w rzeczywistości wszystkie te instalacje wymagają już zainstalowanego GCC - przynajmniej brew
nie udaje im się to z błędami linkera w Lionie, które przypisuję Clangowi, i -use-gcc
nie działa to w sposób oczywisty powody.
brew doctor
wspomina tylko to, co już wiem, że nie ma zainstalowanego GCC (4.2.x).
1 Wcześniej miksowałem MacPorts, Homebrew i kilka ręcznych instalacji i skończyłem z piekłem konserwacji i wersjonowania. Nie chcę tam iść ponownie.
gcc --version
? Dostajęi686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
i po prostu zainstalowałem Xcode z MAS. Jaka jest wydajnośćecho $PATH
?$PATH
jest zwykle (w końcu jest to prawie pusty system):/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
… ale nie sądzę, żeby to miało znaczenie. Formuły dostarczone przez homebrew-alt są po prostu przestarzałe i nie działają z Clangiem.Odpowiedzi:
Rozwiązanie dostarczone przez @Konrad Rudolph nie jest już całkowicie poprawne, ponieważ wzmiankowana przez niego formuła GCC została przeniesiona
homebrew/dupes
dohomebrew/versions
. Możesz wybrać wersję GCC do zainstalowania. Na przykład w momencie pisania tej odpowiedzi dostępne są wersje 4.5, 4.7 i 4.8. Możesz sprawdzić, jakie wersje są dostępne tutaj .Krótko mówiąc, możesz zainstalować GCC 4.8 za pomocą
Możesz wyświetlić dostępne flagi instalacji, używając
źródło
gcc-4.8 hello.c
gcc-4.8: error trying to exec 'as': execvp: No such file or directory
[flags]
? Na moich komputerach zainstalowałem bez żadnych flag i działa dobrze. Dlaczego nie spróbować zadzwonićgcc-4.8
bez pliku wejściowego i sprawdzić, czy wystąpił błąd krytyczny? Spróbuj takżels /usr/local/Cellar/gcc48/4.8.0/bin
sprawdzić, czy ten katalog zawieragcc-4.8
.gcc-4.8 --version
działa, ale nie może wykonać drugiego narzędzia o nazwie,as
dlatego umiera.alias g++='g++-4.8'
swoje.bashrc
.Rozwiązanie Homebrew
Aby odpowiedzieć na moje pytanie,
homebrew-versions
teraz mam dość aktualną formułę GCC . Można go zainstalować za pomocąGdzie
[flags]
powinny zawierać wszystkie wymagane języki, np. (--enable-cxx --enable-fortran
).Spowoduje to zainstalowanie plików wykonywalnych z przyrostkiem, tzn.
gcc
Należy uzyskać do nich dostęp,gcc-version
aby uniknąć kolizji. W razie potrzeby można utworzyć odpowiednie dowiązania symboliczne, aby ustawić tę wersję jako domyślną.Instalacja ręczna
Alternatywnie , aktualny GCC (w momencie pisania) można skompilować ręcznie przy użyciu następującego skryptu powłoki:
To wprowadzi GCC na ścieżkę
/usr/gcc-4.7.0
. Teraz wszystko, co musisz zrobić, to albo utworzyć dowiązania symboliczne do plików wykonywalnych, albo dodaćbin
katalog do$PATH
zmiennej.źródło
brew tap homebrew/dupes
a następniebrew install apple-gcc42
. Pomogło mi to uzyskać działające gcc i wino. Możesz także pobrać pliki binarne (jak robi to homebrew): r.research.att.com/toolsbrew tap homebrew/dupes; brew install gcc --use-llvm
. Zobacz github.com/Homebrew/homebrew-dupes/issues/20Widziałem dziś, jak ktoś link do tego starego postu. Najlepszym sposobem na zainstalowanie GCC w homebrew jest teraz
brew install gcc
. Jeśli masz narzędzia wiersza polecenia XCode (są one oddzielne od XCode; możesz je zainstalować przy pomocyxcode-select --install
), zainstalowana zostanie wersja wstępnie skompilowana (która jest bardzo szybka).źródło
Ja też miałem ten problem. Co więcej, muszę użyć gfortran, który nie jest dostarczany ze standardową (nieaktualną) instalacją llvm-gcc dla Maca.
Odkryłem, że wersje gcc High Performance Computing są aktualne i świetnie działają na Lion.
źródło
W przypadku, gdy ktoś patrzy na ten stary wątek, wydaje się, że homebrew / wersje, użyte w obecnie akceptowanej odpowiedzi, są przestarzałe na rzecz homebrew / core . Po prostu biegnij
brew install <formula>
.źródło
Możesz spróbować tego - https://github.com/kennethreitz/osx-gcc-installer - Użyłem go z powodzeniem po aktualizacji do Lion do kompilacji pakietów z Homebrew i innymi (Ruby).
Z przeczytanego mi:
Instalator GCC dla OSX Pobieranie i instalowanie ogromnego instalatora Xcode jest dużym problemem, jeśli chcesz tylko GCC i powiązanych narzędzi.
Instalator osx-gcc-installer pozwala zainstalować niezbędne kompilatory z gotowych pakietów binarnych lub pomaga stworzyć własny instalator.
źródło
/usr/bin/gcc
jest dowiązaniem symbolicznym do llvm gcc, ale wyraźne odniesienie/usr/bin/gcc-4.2
lub ustawienieexport CC="gcc-4.2"
w twoim pliku .bash_profile lub odpowiednim pliku również łagodzi ten problem. (Zobacz także to pytanie dotyczące przepełnienia stosu .)