I have posted on another site, so hopefully this isn't cross posting:

I have a few versions of gcc and g++ on my Ubuntu 16.04 which i select with alternative config. When compiling a very simple source the compiler can't find the headers.(stddef.h: No such file or directory)

Upon investigation the gcc installations don't have a full directory, for example:

usr/lib/gcc/x86_64-linux-gnu/4.8 has an include directory with cc1.exe


usr/lib/gcc/x86_64-linux-gnu/4.7 had no include directory and no cc1.exe (just a cc1plus.exe)

I have re-installed 4.7 but can't seem to get it to be a complete installation ,any help?




You can see what packages provide these components using dpkg -S e.g.

$ 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

Both cpp-4.7 and libgcc-4.7-dev should have been installed as dependencies of gcc-4.7 however it's possible that the files have been manually deleted - try re-intstalling those packages i.e.

sudo apt-get install --reinstall cpp-4.7 libgcc-4.7-dev

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.