https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82346
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- The condition for std::to_string being declared in gcc-5 is: #if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) So presumably _GLIBCXX_USE_C99 is false. If you're using glibc 2.26 you might have hit https://sourceware.org/bugzilla/show_bug.cgi?id=22146 and so need a glibc fix so that libstdc++ correctly detects C99 support.