Ok, I just got hold of a copy of 1.6.10.  It is identical.

This is a question for your compiler guys; pngread.c #includes <errno.h> and <errno.h> defines both errno and strerror, at least in the original ANSI/ISO C standard libpng uses.  Clearly your compiler does not and that is definitely a compiler problem.

John Bowler