Thanks to Ian's suggestion, I was able to push past the conversion error with macro.c. Unfortunately two more problems have surfaced. The first happened after "fixing" the macro.c issue; the build continued but then threw a number of undefined errors for functions contained in libcpp when trying to build part of the cc1 binary. I don't have the exact functions; I'll post them if they show up again. Since I'd been making some changes to internal.h and files.c in the interim source directory, I ran make distclean in the build directory, copied the original files over to the interim source, and re-ran configure. The second error appears after the above; make fails after the following error ../../gcc-4.8/libcpp/files.c: In fuction 'bool read_file_guts(cpp_reader*, _cpp_file*)': ../../gcc-4.8/lilbcpp/files/c:723:27: error: cannot convert 'long long int*' to 'off_t* {aka long int*}' for argument '7' to 'unsigned char* _cpp_convert_input(cpp_reader*, const char*, unsigned char*, size_t, size_t, const unsigned char**, off_t*)' I've done some research on this error while trying to resolve this; for Android, off_t is always 32bits and there is an off64_t, but I don't know if the error I'm getting above is because of this fact or something related to the problem I was having with macro.c. Any help is appreciated.