FreeBSDでGCCを実行しようとすると、次のエラーが発生します。
% 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
バイナリpkgを使用して、次のバージョンのGCCをインストールしました。
% 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
また、同じ結果でポートバージョンをインストールしました。
何が間違っている可能性がありますか?
答え1
FreeBSD 10からスタートその音新しい基本コンパイラです。
Clangを使用してコードをコンパイルしてみるか、以前と同じようにGCCバージョンをインストールする必要があります。
ただし、Clangに切り替える前に、FreeBSDはGCCバージョン4.2を使用しており、そのGCCのバイナリはその/usr/bin/gcc
ため、GCCの最新のポートではバイナリ名を異なるように指定する必要があります。
したがって、すべてのGCCポートにはバージョン番号が/usr/local/bin/gccXY
どこにあるかというバイナリファイルがあります。XY
FreeBSDにgcc4.7をインストールすると、以前の/usr/local/bin/gcc
動作は発生しませんが、/usr/local/bin/gcc47`が発生します。
簡単に言えば、GCC 4.7でコードをコンパイルするにはgcc47
。gcc
しかし、Clangを使ってみると良いかもしれません。これは、コードがコンパイラに依存していることを確認するために、他のコンパイラでコードをコンパイルすることが常に良い考えだからです。コンパイルされていない場合は、コードが破損しているか、膨大なコンパイラのバグが見つかったためです。