it's a little hard to help with this over forum, but from looking at the file, it looks like your configure is not quite detecting what it should.
at the top of your config_file.c youll see this:
#if HAVE_STRERROR
extern int errno;
# define error_string strerror(errno)
#elif HAVE_SYS_ERRLIST
extern const char *const sys_errlist[];
extern int errno;
# define error_string (sys_errlist[errno])
#else
# define error_string "error message not found"
#endif
so basically its looking for some special flags that tell it whether your compiler/OS knows about errno or not.
configure is supposed to set these - but it looks like its telling your compiler that it DOES know about errno, and then your compiler doesnt really know about it (or alternatively the wrong header files are not being included).
SO, there are a couple ways you might fix it more properly, but you could try a quick fix just to see what happens if you try changing
#if HAVE_STRERROR
to
#if HAVE_STRERROR_DISABLETEST
and
#elif HAVE_SYS_ERRLIST
to
#elif HAVE_SYS_ERRLIST_DISABLETEST
that will just tell it to not try to use errno in that file; if you get further errors in further files youll have to find a more proper solution.
ideally the best solution would be to find the header files defining errno if your system supports it or figure out how to get configure to properly detect your system config better.