Como especificar qual GCC para MacPorts usar?

5

Eu compilei o GCC 4.4.3 e o instalei em / usr / local / bin, mas sempre que eu instalo uma porta via MacPorts 1.8.2 a saída detalhada diz que o MacPorts está usando /usr/bin/gcc-4.2:

checking for gcc... /usr/bin/gcc-4.2

Como faço para que o MacPorts encontre o meu próprio GCC 4.4.3? Aqui está o meu caminho atual:

/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/lib:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Estou executando o Mac OS X 10.6.2 Snow Leopard.

    
por hpy 28.03.2010 / 20:23

3 respostas

2

Primeira resposta: não faça isso! Na minha experiência, o GCC 4.4.3 não funcionará corretamente no Snow Leopard. Isso causará problemas com sequências de comprimento zero.

Segunda resposta: edite seus links simbólicos em / usr / bin para se referir ao material 4.4. Aqui está um script que eu escrevi para fazer isso:

rm /usr/bin/c++ 
ln -s /usr/bin/c++-${1} /usr/bin/c++
rm /usr/bin/cc
ln -s /usr/bin/cc-${1} /usr/bin/cc
rm /usr/bin/cpp
ln -s /usr/bin/cpp-${1} /usr/bin/cpp
rm /usr/bin/g++
ln -s /usr/bin/g++-${1} /usr/bin/g++
rm /usr/bin/gcc
ln -s /usr/bin/gcc-${1} /usr/bin/gcc
rm /usr/bin/gcov
ln -s /usr/bin/gcov-${1} /usr/bin/gcov

Eu chamei de chgCver, então para mudar meu compilador para 4.4, eu digitei chgCver 4.4 . Claro, antes de executar isso, você também precisa ter certeza de que, por exemplo, c ++ - 4,4 pontos para o local correto (provavelmente /opt/local/bin/gcc-mp-4.4 ), etc. Eu posso lhe dar mais detalhes, se você está inclinado para ignorar minha primeira e terceira respostas.

Terceira resposta: não faça isso! (Veja a primeira resposta.)

    
por 28.03.2010 / 20:34
7

O MacPorts está usando compiladores fornecidos pela Apple sempre que possível, pois eles são altamente corrigidos para a plataforma. Por exemplo, eles permitem construir para múltiplas arquiteturas, especificando sinalizadores -arch que não é possível com o FSF gcc.

Se você alterar links simbólicos em / usr / bin / cc , o MacPorts ainda tentará usar sinalizadores que são entendidos apenas pela versão da Apple. Isso pode impossibilitar a compilação de qualquer coisa usando MacPorts.

Apenas confie nos desenvolvedores do MacPorts que usar os compiladores fornecidos pela Apple é a melhor maneira.

    
por 13.04.2010 / 15:59
7

Configure a variável configure.compiler no Portfile de acordo:

configure.compiler    macports-gcc-4.3

ou anexe configure.compiler = macports-gcc-4.3 ao seu comando.

cf. esta página da wiki .

    
por 11.12.2010 / 07:06