ソースからGCCをインストールしようとしています。 wikiの指示に従います。https://gcc.gnu.org/wiki/InstallingGCCまた、薬SOに関するこの質問。実行時に設定手順に問題があります。
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2
次の出力とエラーが発生します。
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking for libatomic support... yes
checking for libcilkrts support... no
checking for libitm support... yes
checking for libsanitizer support... yes
checking for libvtv support... yes
checking for libmpx support... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/bin/objdir':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
Cコンパイラがインストールされていないため、エラーが発生しているようです。 GCCをインストールすると、Cコンパイラをインストールする必要がないため混乱します。このエラーについて見つけることができるすべてのソリューションはGCCをインストールする必要があることを示しています。このためにGCCをインストールする必要がある場合は、GCCをどのようにインストールしますか?
$PATH変数をに更新しましたがexport PATH=$PATH:/usr/bin/gcc-4.6.2
役に立ちません。私も成功せずに同様の質問を見ました。https://unix.stackexchange.com/questions/310669/c-compiler-while-installing-gcc
私が逃したものはありますか? GCCをインストールするには何ができますか?
注:私が使用しているカスタムディストリビューションにはこのタイプのインストーラソフトウェアがインストールされていないため、yumまたはapt-getを使用してインストールすることはできません。
答え1
GCC自体はCで書かれています。したがって、インストールにはCコンパイラが必要です。これはキャッチ-22です。あなたは何も見逃さなかった。実際、やや有名なKen Thompsonの記事「Reflections on Trust Trust」関連する側面を考えてください。
どこかでCコンパイラを入手する必要があります。カスタムディストリビューションを作成した人は誰でも1人必要です。なぜなら、それなしではLinuxカーネルを構築できないからです。どこかに提供する必要があります。
さらに、コンパイラをインストールできるディストリビューションでは、gcc(およびbinutilsやCライブラリヘッダなど)をクロスコンパイルする必要があります。これが誰かが新しいプラットフォーム用のディストリビューションを構築する方法です。また、プラットフォームが組み込まれている場合は、誰もがデバイス自体でgccを実行したくないので、デバイスに必要なすべてのソフトウェアをクロスコンパイルしたいと思うかもしれません。この場合、組み込みディストリビューションには使用可能なクロスコンパイラが必要です。
答え2
Windows 10でUbuntuサブシステムを使用しているときにこの問題が発生し、次の手順で解決しました。
sudo apt-get update
sudo apt install build-essential
あるいは、2番目のコマンドをより具体的に指定することもできます。
sudo apt install gcc