Eu instalei o Xcode e as ferramentas de linha de comando do site de desenvolvedores do Mac, que li algumas vezes é um pré-requisito. Também instalei o programa MacPorts. No terminal:
sudo port install gcc48 sudo port select -set gcc mp-gcc48
Tudo acima correu bem até eu digitar:
hash gcc
Quando pressiono Enter, recebo a seguinte mensagem de erro:
-bash: hash: gcc: não encontrado
Estou perdido e não saber como proceder para instalar com sucesso o gcc no meu Mac (que está executando o Mac OS X 10.9.1).
Muito obrigado a todas as sugestões e / ou alternativas para instalar o gcc
Comentários
Resposta
Talvez seja melhor instalar o gcc a partir do homebrew do que o Macports.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor brew update brew search gcc
Existem cerca de 6 versões do gcc disponíveis neste gerenciador de pacotes. Veja http://brew.sh para mais detalhes sobre as ferramentas de homebrew. Além disso, este tópico tem mais detalhes sobre gcc e homebrew: Como faço para instalar o GCC via Homebrew? Por último, o erro gcc em seu shell é semelhante a este tópico: Eu instalei o Xcode, mas ainda não ' tenho gcc em meu terminal
Comentários
- Por que isso seria melhor do que macports?
Resposta
Podem haver dois problemas. Um deles é o seu caminho. Você precisa ter / opt / local / bin na frente de / usr / bin atualmente você tem / opt / local / bin atrás de / usr / bin. Por causa disso, o g ++ provavelmente ainda está vinculado ao clang.
O outro problema é que você está usando o comando de seleção de porta errado. comando select cria automaticamente um g ++ fl link ag para o compilador especificado. Neste caso, o compilador especificado deve ser mp-4.8 e deve ser –set em vez de -set. As instruções estão nesta página da web http://dropbit.com/?p=84 .
Resposta
Não acho que o comando de seleção de porta fez o que você esperava. O manual afirma que o comando de seleção seleciona entre várias versões de uma porta com versão , que acredito não seu caso aqui:
pejvan$ port help select Usage: select --list --set --show --summary <arguments> Select between multiple versions of a versioned port This allows you to choose which version, among several installed versions of a port, is to be considered primary. What this means is which version becomes the one most would consider the default, e.g. the one run without specifying any version.
Depois de executar com sucesso o comando de instalação do gcc (aqui versão 4.9):
sudo port install gcc49
Você pode verificar se “tem os binários do gcc instalados:
pejvan$ ls -l /opt/local/bin/gcc* -rwxr-xr-x 2 root admin 42912 3 Jun 03:44 /opt/local/bin/gcc-ar-mp-4.9 -rwxr-xr-x 3 root admin 1082788 3 Jun 03:44 /opt/local/bin/gcc-mp-4.9 -rwxr-xr-x 2 root admin 42992 3 Jun 03:44 /opt/local/bin/gcc-nm-mp-4.9 -rwxr-xr-x 2 root admin 43000 3 Jun 03:44 /opt/local/bin/gcc-ranlib-mp-4.9
Você pode então executar o gcc com o caminho completo para os binários:
pejvan$ gcc-mp-4.9 --version gcc-mp-4.9 (MacPorts gcc49 4.9-20140416_2) 4.9.0 20140416 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Se você deseja substituir (temporariamente ou permanentemente) o complier clang pelo gcc, você pode fazer isso configurando o CC env var o seguinte forma, por exemplo:
export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler
Como observação lateral, por favor observe que para port select gccVersion
funcionar, você precisará instalar gcc_select
:
pejvan$ port info gcc_select gcc_select @0.1_8 (sysutils) Description: gcc_select installs files that allow "port select" to switch the default version of gcc. It symlinks the standard compiler executables in the MacPorts prefix to the selected version.
Eu não olhei os detalhes do pacote, então não tenho certeza se funcionaria entre o clang e o gcc instalado no port ou apenas com várias versões diferentes de pacotes gcc instalados no port.
Comentários
- Apenas entre pacotes gcc e seleção de porta deve ter funcionado
- Isso ' s o que eu disse na primeira frase, companheiro.
- (MAS você precisa instalar o pacote gcc_select, o que não parece ser o caso aqui).
which gcc
dar?