Not sure if I should report this upstream or fix my system. vlc [*1] fails to build lirc support with lirc 0.9.4. build log fragment: checking lirc/lirc_client.h usability... no checking lirc/lirc_client.h presence... yes configure: WARNING: lirc/lirc_client.h: present but cannot be compiled configure: WARNING: lirc/lirc_client.h: check for missing prerequisite headers? configure: WARNING: lirc/lirc_client.h: see the Autoconf documentation configure: WARNING: lirc/lirc_client.h: section "Present But Cannot Be Compiled" configure: WARNING: lirc/lirc_client.h: proceeding with the compiler's result checking for lirc/lirc_client.h... no Editing /usr/include/lirc/lirc_client.h: #include "lirc/lirc_config.h" +#define HAVE_SYS_POLL_H #include "lirc/curl_poll.h" fixes issue. But who should define HAVE_SYS_POLL_H or HAVE_POLL_H? Vlc's build scripts? Compiler? Why am I the only one with this issue? [1]: vlc is only program with lirc support that I use. And lirc tools, but no problem with them. But writing simple: #include <lirc/lirc_config.h> int main() { return 0; } does not compile either: $ gcc -o lirc lirc.c In file included from /usr/include/lirc/lirc_client.h:124:0, from lirc.c:1: /usr/include/lirc/curl_poll.h:36:29: error: array type has incomplete element type ‘struct pollfd’ int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
This issue is fixed in lirc 0.9.4d, I've submitted a PR for that version bump: https://github.com/gentoo/gentoo/pull/4112