unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
@ 2014-10-08 11:53   ` Nelson H. F. Beebe
  2014-10-08 17:10     ` Wolfgang Jenkner
  2014-10-10 16:15     ` Glenn Morris
  0 siblings, 2 replies; 5+ messages in thread
From: Nelson H. F. Beebe @ 2014-10-08 11:53 UTC (permalink / raw)
  To: 18666

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: beebe@math.utah.edu  -
- 155 S 1400 E RM 233                       beebe@acm.org  beebe@computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
       [not found] <CMM.0.94.0.1412769190.beebe@psi.math.utah.edu>
@ 2014-10-08 16:52 ` Paul Eggert
  2014-10-08 11:53   ` Nelson H. F. Beebe
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Eggert @ 2014-10-08 16:52 UTC (permalink / raw)
  To: Nelson H. F. Beebe, 18666

[-- Attachment #1: Type: text/plain, Size: 620 bytes --]

On 10/08/2014 04:53 AM, Nelson H. F. Beebe wrote:
> The solution was simple:
>
>      % diff src/process.c.~1~ src/process.c
>      176c176
>      < static int
>      ---
>      > /* static */ int
>

Thanks, but I'd rather not do that, as it might override some system's 
accept4 function which other parts of that system's library might depend on.

Does the attached alternative patch work for you?  Or, to save you some 
time, since I can log into the Utah VMs perhaps you can give me the 
current list of VMs so that I can try it out myself?  I don't know which 
VM is the one that illustrates the problem.

Thanks.


[-- Attachment #2: kfreebsd.diff --]
[-- Type: text/x-patch, Size: 304 bytes --]

=== modified file 'src/process.c'
--- src/process.c	2014-05-03 20:13:10 +0000
+++ src/process.c	2014-10-08 16:42:40 +0000
@@ -173,6 +173,9 @@
   return fd;
 }
 
+#undef accept4
+#define accept4 process_accept4
+
 static int
 accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)
 {


^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
  2014-10-08 11:53   ` Nelson H. F. Beebe
@ 2014-10-08 17:10     ` Wolfgang Jenkner
  2014-10-10 16:15     ` Glenn Morris
  1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Jenkner @ 2014-10-08 17:10 UTC (permalink / raw)
  To: Nelson H. F. Beebe; +Cc: 18666

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





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
  2014-10-08 11:53   ` Nelson H. F. Beebe
  2014-10-08 17:10     ` Wolfgang Jenkner
@ 2014-10-10 16:15     ` Glenn Morris
  2014-10-10 18:03       ` Paul Eggert
  1 sibling, 1 reply; 5+ messages in thread
From: Glenn Morris @ 2014-10-10 16:15 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 18666


Experience suggests there might be no answer to your question (unless
you got one off-list), so if you think there is a safe way to solve this
in emacs-24, I suggest you just go for it and mark this as done.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue
  2014-10-10 16:15     ` Glenn Morris
@ 2014-10-10 18:03       ` Paul Eggert
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggert @ 2014-10-10 18:03 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 18666-done

Glenn Morris wrote:
> if you think there is a safe way to solve this
> in emacs-24, I suggest you just go for it and mark this as done

Thanks, done as emacs-24 bzr 117570.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-10-10 18:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CMM.0.94.0.1412769190.beebe@psi.math.utah.edu>
2014-10-08 16:52 ` bug#18666: emacs-24.3.94: Debian GNU/kFreeBSD 7 (wheezy) build issue Paul Eggert
2014-10-08 11:53   ` Nelson H. F. Beebe
2014-10-08 17:10     ` Wolfgang Jenkner
2014-10-10 16:15     ` Glenn Morris
2014-10-10 18:03       ` Paul Eggert

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).