Dear Tim, dear gcc team, Recall that when building gcc 4.2.1, i got this error: In file included from /usr/include/features.h:346, from /usr/include/stdio.h:28, from /usr/local/gcc-4.2.1/gcc/tsystem.h:90, from /usr/local/gcc-4.2.1/gcc/crtstuff.c:68: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: Datei oder Verzeichnis nicht gefunden So, in the first place it includes gnu/stubs.h gnu/stubs.h includes bits/wordsize.h, and if __WORDSIZE==32 then it includes gnu/stubs-32.h (which apparently is responsible for the above error!) But why is __WORDSIZE==32?? Well, bits/wordsize.h checks if __x86_64__ is defined. If it is, it defines __WORDSIZE to 64 and __WORDSIZE_COMPAT32 to 1. Otherwise, it defines __WORDSIZE to 32. >From the behaviour of stubs.h, we see that __WORDSIZE actually is 32 (which is wrong). Hence, apparently __x86_64__ was not defined. Now, i work on x86_64. Why isn't __x86_64__ defined, and where should it usually be defined? Yours Simon