別のサイトにも投稿したので、クロスポストではないことを願います。
Ubuntu 16.04 には、代替構成で選択した gcc と g++ のバージョンがいくつかあります。非常に単純なソースをコンパイルすると、コンパイラがヘッダーを見つけることができません。(stddef.h: そのようなファイルまたはディレクトリはありません)
調査の結果、gcc インストールには完全なディレクトリがありません。例:
usr/lib/gcc/x86_64-linux-gnu/4.8 には cc1.exe を含む include ディレクトリがあります。
一方:
usr/lib/gcc/x86_64-linux-gnu/4.7 には include ディレクトリも cc1.exe もありませんでした (cc1plus.exe のみ)
4.7 を再インストールしましたが、完全にインストールできないようです。何か助けはありますか?
ありがとう
エマ
答え1
これらのコンポーネントを提供するパッケージを確認するには、dpkg -S
例えば次のようにします。
$ dpkg -S /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
cpp-4.7: /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1
libgcc-4.7-dev:amd64: /usr/lib/gcc/x86_64-linux-gnu/4.7/include
cpp-4.7
と は両方ともlibgcc-4.7-dev
の依存関係としてインストールされているはずですgcc-4.7
が、ファイルが手動で削除されている可能性があります。これらのパッケージを再インストールしてみてください。
sudo apt-get install --reinstall cpp-4.7 libgcc-4.7-dev