The solution described in the thread was to use libpng 1.6 and configure it to use symbols with prefixes to avoid conflicts with the system libpng library, which may have a different version.
What I didn't realize is that libpng relies on zlib and when it's called on an image that may require some new features, it fails with "Gtk-WARNING **: Error loading icon: Failed to load image '/usr/share/icons/oxygen/22x22/actions/window-close.png': Fatal error in PNG image file: bad parameters to zlib". I unfortunately can't tell you *what* parameters are incorrect as this error (Z_STREAM_ERROR) is returned in several cases.
I replaced the builtin version of zlib (1.2.3) with the latest one (1.2.8) and the issue seems to be gone. For those following the discussion, there was only one fix I did to the generated Makefile as one of the files was renamed:
sed -i 's/gzio.c/gzlib.c/' Makefile
Paul.