Re: git-compat-util.h:798:13: error: conflicting types for ‘inet_ntop’

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

 



On Sat, Feb 1, 2020 at 6:39 AM Jeffrey Walton <noloader@xxxxxxxxx> wrote:
>
> I'm building the 2.25 release tarball on Solaris 11.3 i86pc. I'm
> catching an error:
>
> $ gmake
>     CC fuzz-commit-graph.o
> In file included from commit-graph.h:4:0,
>                  from fuzz-commit-graph.c:1:
> git-compat-util.h:798:13: error: conflicting types for ‘inet_ntop’
>  const char *inet_ntop(int af, const void *src, char *dst, size_t size);
>              ^
> In file included from git-compat-util.h:226:0,
>                  from commit-graph.h:4,
>                  from fuzz-commit-graph.c:1:
> /usr/include/arpa/inet.h:43:20: note: previous declaration of
> ‘inet_ntop’ was here
>  extern const char *inet_ntop(int, const void *_RESTRICT_KYWD,
>                     ^
> gmake: *** [fuzz-commit-graph.o] Error 1
>
> And:
>
> $ cat -n /usr/include/arpa/inet.h
> ...
>     41  #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__)
>     42  extern int inet_pton(int, const char *_RESTRICT_KYWD, void
> *_RESTRICT_KYWD);
>     43  extern const char *inet_ntop(int, const void *_RESTRICT_KYWD,
>     44                          char *_RESTRICT_KYWD, socklen_t);
>     45  #endif /* !defined(_XPG4_2) || defined(_XPG6) ||
> defined(__EXTENSIONS__) */

According to Sun's man pages:

inet(3SOCKET)              Sockets Library Functions             inet(3SOCKET)

NAME
       inet,  inet6, inet_ntop, inet_pton, inet_aton, inet_addr, inet_network,
       inet_makeaddr, inet_lnaof, inet_netof,  inet_ntoa  -  Internet  address
       manipulation

SYNOPSIS
       cc [ flag... ] file... -lsocket  -lnsl  [ library... ]
       #include <sys/socket.h>
       #include <netinet/in.h>
       #include <arpa/inet.h>

Maybe the include should be <arpa/inet.h> on Sun systems?

I was able to hack around it with the following after configure:

    # Solaris 11.3 work-around. The OS has inet_ntop and inet_pton
    for file in $(find "$PWD" -name 'Makefile')
    do
        sed '/ifdef NO_INET_NTOP/,+3 d' "$file" > "$file.fixed"
        mv "$file.fixed" "$file"
        sed '/ifdef NO_INET_PTON/,+3 d' "$file" > "$file.fixed"
        mv "$file.fixed" "$file"
    done

Jeff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux