lighttpd 1.4.42 update does not work with FreeBSD 9.3

Cedric Berger cedric at precidata.com
Fri Oct 28 09:17:59 UTC 2016


Since the update 6 days ago, lighttpd 1.4.42 does not work on FreeBSD 9.3 anymore.

The binary fails to startup with:

2016-10-28 11:06:30: (plugin.c.227) dlopen() failed for: /usr/local/lib/lighttpd/mod_cgi.so /usr/local/lib/lighttpd/mod_cgi.so: Undefined symbol "pipe2” 

mod_cgi.c contains the following horror:

#ifdef O_CLOEXEC
#define pipe_cloexec(pipefd) pipe2((pipefd), O_CLOEXEC)
#elif defined FD_CLOEXEC
#define pipe_cloexec(pipefd) \
  (   0 == pipe(pipefd) \
   && 0 == fcntl(pipefd[0], F_SETFD, FD_CLOEXEC) \
   && 0 == fcntl(pipefd[1], F_SETFD, FD_CLOEXEC) \
    ? 0 \
    : -1)
#else
#define pipe_cloexec(pipefd) pipe(pipefd)
#endif

Which of course is wrong, FreeBSD 9.3 has O_CLOEXEC but no pipe2.

Thanks,
Cedric



More information about the freebsd-ports mailing list