Subject: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
From: "Nelson H. F. Beebe" <[email-masked]>
To: [email-masked]
Date: Wed, 8 Oct 2014 05:53:10 -0600 (MDT)
List-Id: <debbugs-submit.debbugs.gnu.org>

Package: emacs
Version: 24.3.94
Severity: important

An emacs-24.3.94 build on Debian GNU/kFreeBSD 7 (wheezy) x86-64 with
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

The solution was simple:

    % diff src/process.c.~1~ src/process.c
    176c176
    < static int
    ---
    > /* static */ int

I restarted the build, and it completed successfully, as did the final
"make install" step.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: [email-masked]  -
- 155 S 1400 E RM 233                       [email-masked]  [email-masked] -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------