On Bug #61176, Matt Fischer points out that QNX does not have the popular-but-non-standard header <sys/fcntl.h>, only the "official" POSIX <fcntl.h>. This broke libdbus builds in the embedded copy of sd-daemon.c (which we should probably get rid of, but that's not the point right now). Matt said he'd open a systemd bug, but I couldn't find one, so I'm opening this. sd-daemon.c currently does this: #ifdef __BIONIC__ # include <linux/fcntl.h> #else # include <sys/fcntl.h> #endif but if we used <fcntl.h> we shouldn't need the ugly conditional, unless there's some special reason why you prefer the OS-specific version - more contents or something? libdbus already uses #include <fcntl.h> in its other Unix-specific files, so this is at least as portable as D-Bus - in particular, it compiles on Android. Given the sort of esoteric platforms I've heard about people putting D-Bus on, I think we can safely assume that <fcntl.h> is portable.
Fixed in http://cgit.freedesktop.org/systemd/systemd/commit/?id=abad76cc4.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.