I looked in both the Linux and the OpenBSD syslog.h file. The OpenBSD does not
list inclusion of the stdarg, so, as the manual page says, you will need to
include both, and I do not know why you would not, regardless of what call yuo
need to make.

The linux one looks like this near the top:

#include <features.h>
#define __need___va_list
#include <stdarg.h>

Given that it defines the "need" thing for what I assume is "variable
argument" functions, two things I can infer: (a) you, obviously, cannot
do without including the stdarg unless you copy the syslog.h to a new
location (maybe for testing), and (b) Linux wants to take care of some
things for you in case you need va functions, probably for your own good.


If we knew what your software actually did, maybe we would look at it.