Header src/snprintf.h declares prototypes for snprintf and friends if configure did not detect that the system provides them. When -D_FORTIFY_SOURCE=2 is passed, these symbols are mangled by macro magic in the system headers. The configure script correctly detects that the Linux system headers provide these symbols. The problem is that src/emaillog.c indirectly includes src/snprintf.h without ever including config.h. Thus, the conditional tests performed in src/snprintf.h incorrectly decide to include the distcc-supplied prototypes, causing the build to fail. The fix is simple: always have config.h included before src/snprintf.h checks the configure-created conditionals. I will attach a patch that does this.
This bug is filed as "Core system" since the description says that ebuilds for sys-*/ go in "Core system".
Both sys-devel/distcc-3.04 and sys-devel/distcc-3.1 are affected, and the patch applies cleanly to both versions.
Created attachment 177411 [details, diff]
Patch for src/snprintf.h to include config.h so that it does not declare snprintf unnecessarily
fixed in cvs. thanks