[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
From: |
Wolfgang Jenkner |
Subject: |
bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue |
Date: |
Wed, 08 Oct 2014 19:10:13 +0200 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.50 (berkeley-unix) |
On Wed, Oct 08 2014, Nelson H. F. Beebe wrote:
> An emacs-24.3.94 build on Debian GNU/kFreeBSD 7 (wheezy) x86-64 with
So it runs a FreeBSD 9 kernel[1].
> CC=c99 fails with this error:
>
> /usr/bin/c99 -c -Demacs -I. -I. -I../lib -I./../lib \
> -I/usr/include/freetype2 \
> -I/usr/include/freetype2 -MMD -MF deps/process.d -MP \
> -I/usr/uumath/include process.c
> process.c:177:1: error: static declaration of `accept4' follows
> non-static declarationmake[1]: Leaving directory
> `/local/build/c99/emacs-24.3.94/src'
>
> The problem is this code in the indicated system header file:
>
> #ifdef __USE_GNU
> /* Similar to 'accept' but takes an additional parameter to specify flags.
>
> This function is a cancellation point and therefore not marked with
> __THROW. */
> extern int accept4 (int __fd, __SOCKADDR_ARG __addr,
> socklen_t *__restrict __addr_len, int __flags);
> #endif
On FreeBSD 10, accept(2) states[2] in HISTORY
The accept4() system call appeared in FreeBSD 10.0.
So I guess the bug is that the declaration is nevertheless visible in
the glibc header file used on your Debian system.
The other possibility is that the Debian developers implemented it on
their own, but it somehow fails the configure test (you could check
config.log).
I found a short mailing list thread about this[3].
[1]
https://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ#Q._What_version_of_kFreeBSD_is_supported.3F
[2]
https://www.freebsd.org/cgi/man.cgi?query=accept4&apropos=0&sektion=0&manpath=FreeBSD+10.0-RELEASE&arch=default&format=html
[3] https://lists.debian.org/debian-bsd/2013/09/msg00157.html