Source: lua-cqueues
Version: 20160316-3
Severity: serious
Justification: fails to build from source

The powerpc and ppc64 builds of lua-cqueues have been failing:

  libtool --silent --tag=CC --mode=compile cc -c -g -O2 
-fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic 
-Wdate-time -D_FORTIFY_SOURCE=2 -I/usr//include/lua5.2  -I src/ -std=c99 
-D_GNU_SOURCE -Wall -Wextra -o /«PKGBUILDDIR»/5.2-cqueues/src/cqueues.lo 
src/cqueues.c
  src/cqueues.c:395:112: fatal error: sys/event.h: No such file or directory

The relevant logic is

  #if HAVE_EPOLL
  #include <sys/epoll.h>        /* struct epoll_event epoll_create(2)
  #epoll_ctl(2) epoll_wait(2) */
  #elif HAVE_PORTS
  #include <port.h>
  #else
  #include <sys/event.h>        /* EVFILT_READ EVFILT_WRITE EV_SET EV_ADD
  #EV_DELETE struct kevent kqueue(2) kevent(2) */
  #endif

where HAVE_EPOLL was intended to be defined here:

  #ifndef HAVE_EPOLL
  #define HAVE_EPOLL (__linux)
  #endif

It looks like that didn't work out because -std=c99 on these
architectures suppresses the usual predefintion of __linux; please
substitute __linux__, which is available regardless.

On a somewhat related note, please also extend the checks for
__FreeBSD__ to cover __FreeBSD_kernel__.  (As for the Hurd, it looks
like that kernel may be a lost cause here, at least for now.)

BTW, lua-cqueues-dev should probably depend on lua-cqueues.

Thanks!

Reply via email to