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?



1 Answer 1


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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .