localtime_r can return NULL on error, we should probably check that
Check for features.h (as provided by glibc) and use it to determine the correct version of strerror_r.