always include config.h first

Solaris (and others?) need defines from it (GNU_SOURCE in particular)