GCC não executável no FreeBSD

4

Estou tentando rodar o GCC no FreeBSD e recebo este erro:

% gcc
ar: unrecognized option '--plugin'
usage:  ar -d [-Tjsvz] archive file ...
        ar -m [-Tjsvz] archive file ...
        ar -m [-Tabijsvz] position archive file ...
        ar -p [-Tv] archive [file ...]
        ar -q [-TcDjsvz] archive file ...
        ar -r [-TcDjsuvz] archive file ...
        ar -r [-TabcDijsuvz] position archive file ...
        ar -s [-jz] archive
        ar -t [-Tv] archive [file ...]
        ar -x [-CTouv] archive [file ...]
        ar -V

Eu instalei a seguinte versão do GCC usando o pacote binário:

% pkg info gcc
gcc-4.7.3_1
Name           : gcc
Version        : 4.7.3_1
Installed on   : Wed Jun 25 15:22:58 CEST 2014
Origin         : lang/gcc
Architecture   : freebsd:10:x86:64
Prefix         : /usr/local
Categories     : lang java
Licenses       : GPLv3RLE and GPLv3
Maintainer     : [email protected]
WWW            : http://gcc.gnu.org/
Comment        : GNU Compiler Collection 4.7
Options        :
        BOOTSTRAP      : off
        JAVA           : on

Eu também instalei a versão da porta com os mesmos resultados.

O que pode estar errado?

    
por adamse 27.06.2014 / 12:46

1 resposta

6

Desde o FreeBSD 10 Clang é o novo compilador padrão.

Você pode tentar compilar seu código com o Clang ou precisará instalar uma versão do GCC como você fez.

Mas antes da mudança para o Clang, o FreeBSD usava a versão 4.2 do GCC e o binário deste GCC era /usr/bin/gcc , então as portas mais novas do GCC precisavam nomear o binário de forma diferente.

Por causa disso, todas as portas do GCC têm um binário chamado /usr/local/bin/gccXY , onde XY é o número da versão.

Quando você instala o gcc4.7 no FreeBSD você não recebe um /usr/local/bin/gcc graças ao antigo comportamento, ao invés disso você obtém / usr / local / bin / gcc47 '.

Para encurtar a história, quando você quiser compilar seu código com o GCC 4.7, será necessário usar gcc47 e não gcc .

Mas talvez você deva experimentar o Clang, já que é sempre uma boa idéia compilar seu código com compiladores diferentes para ver se o seu código depende de um compilador. Porque se ele não compilar seu código provavelmente está quebrado ou você encontrou um bug no compilador que é incrível.

Veja também Por que FreeBSD depreciando o GCC em favor do Clang / LLVM?

    
por 28.06.2014 / 08:37