Weird.
Looks like your gcc is pointing to the right place: /usr/lib/gcc/i686-linux-gnu/4.7/include/stdarg.h
But the headers are in the wrong place: /usr/lib/gcc/i686-linux-gnu/4.6/include/stdarg.h
Maybe, some glitch during upgrade process?
At any rate, try to create that 4.7 directory and copy the contents of 4.6 directory to it.