Like other versions before, gcc 13 moved some includes around and as a result <stdexcept> and <cstdio> are no longer transitively included. Explicitly include them for std::runtime_error and snprintf.