I tried to compile gcc on my machine running Ubuntu-7.04 AMD-64 (linux), but the make stops in the middle and says, it can't find <gnu/stubs-32.h>. On looking into the files stubs.h and <bits/wordsize.h> I found that stubs-64.h should be include if __x86_64__ is defined, but it doesn't. Then i wrote a simple program :- //============================ ============ #include <stdio.h> #include <gnu/stubs.h> int main() { #ifdef __x86_64__ printf("\n====Good !\n\n"); #else printf("\n====Bad and Ugly !\n\n"); #endif return 0; } //========================================= and the output I got is this:- ====Good ! which means that __x86_64__ is defined, but I can't understand why the make complains while compling gcc ?? I would very much appreciate a solution....but even if anyone gives me a hint about what maybe wrong i will appreciate that too !