I had similar problems on debian testing x86_64. Apparently some files have been moved and this causes those problems. For example, /usr/include/asm/errno.h is now at /usr/include/x86_64-linux-gnu/asm/errno.h. Plain gcc failed to compile too. I tried messing around with symlinks and environment variables but failed.
On Ubuntu the symlink exists.
/usr/include/asm -> /usr/include/x86_64-linux-gnu/asm/