It's not strictly needed for it to compile, but using PCH does cause GCC to emit more warnings. In gd this is defined at a source-file level; some other library (libxml2?) defines it in a header, so naturally the one-definition-rule is broken here.

The preprocessor's default behaviour is just to override the previous declaration + emit warning, so I thought I'd just silence it anyway.