https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99499
--- Comment #6 from cqwrteur <unlvsur at live dot com> --- Created attachment 50357 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50357&action=edit Bionic ctype patch for libstdc++ It looks macros are defined differently on different versions of bionic. The latest bionic those macros might no longer be accessible. Here is an old version of it https://github.com/gentoobionic/bionic/blob/d65ab1d9017fe191208974be49aa244688177e26/libc/include/ctype.h To get rid of the trouble, I define macros by myself and rename those macros from _X to _GLIBCXX_X to avoid potential collision. Rename _U to _GLIBCXX_U for example. Also, i clean up the indent and make blank accessible even we are using C++98 since the generic version does that too.