* 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 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 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).