bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bug#36342: accept4 detection on illumos needs -lsocket -lnsl


From: Mark H Weaver
Subject: Re: bug#36342: accept4 detection on illumos needs -lsocket -lnsl
Date: Fri, 28 Jun 2019 18:35:06 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Michal,

Michal Nowak <address@hidden> writes:

> GNU Guile 2.2.5 build fails because accept4 detection on OpenIndiana
> 2019.04 (illumos distribution) [1] fails due to "-lsocket -lnsl" not
> being part of the linking process and the build system then tries to
> build it's vendored accept4:

I believe this is an issue in gnulib, because the relevant autoconf
detection code, as well as the replacement implementation that fails to
compile on OpenIndiana, are imported from gnulib.

I've CC'd the address@hidden mailing list, for input from the gnulib
developers.

Thanks for this report,

      Mark


>    CC       accept4.lo
> In file included from /usr/include/sys/time.h:462:0,
>                   from ./sys/time.h:39,
>                   from /usr/include/sys/select.h:53,
>                   from ./sys/select.h:36,
>                   from /usr/include/sys/types.h:640,
>                   from ./sys/types.h:28,
>                   from ./sys/socket.h:51,
>                   from accept4.c:20:
> ./sys/socket.h:1034:1: error: conflicting types for 'accept4'
>   _GL_FUNCDECL_SYS (accept4, int,
>   ^
> In file included from ./sys/socket.h:58:0,
>                   from accept4.c:20:
> /usr/include/sys/socket.h:540:12: note: previous declaration of
> 'accept4' was here
>   extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t,
> int);
>              ^~~~~~~
> accept4.c:32:1: error: conflicting types for 'accept4'
>   accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int
> flags)
>   ^~~~~~~
> In file included from ./sys/socket.h:58:0,
>                   from accept4.c:20:
> /usr/include/sys/socket.h:540:12: note: previous declaration of
> 'accept4' was here
>   extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t,
> int);
>              ^~~~~~~
>
> This is fixed by LIBS="-lsocket -lnsl" in the build environment.
>
> This was in the past reported both on the guile-user [2] and
> openindiana-discuss [3] mailing lists, where you also can see the
> build error in full.
>
> Thanks,
> Michal
>
> [1] https://illumos.org/man/3socket/accept4
> [2] https://lists.gnu.org/archive/html/guile-user/2018-03/msg00006.html
> [3]
> https://openindiana.org/pipermail/openindiana-discuss/2018-March/021931.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]