Re: Git 2.31.1, Solaris and error: conflicting types for 'inet_ntop'
On 2021-03-28 at 00:18:37, Jeffrey Walton wrote:
Show 15 quoted lines
> Hi Everyone,
>
> I'm building the latest Git on Solaris 11.3. I use this patch for
> Solaris: https://github.com/noloader/Build-Scripts/blob/master/patch/git.patch.
> It ensures -lresolv -lsocket -lnsl (in that order).
>
> The build is having some trouble:
>
> /bin/gcc -o kwset.o -c -MF ./.depend/kwset.o.d -MQ kwset.o -MMD -MP
> -I/usr/local/include -DNDEBUG -DNO_UNALIGNED_LOADS=1 -g2 -O2 -m64
> -march=native -fPIC -pthread -I. -D__EXTENSIONS__ -D__sun__
> -DGIT_HOST_CPU="\"i86pc\"" -DUSE_LIBPCRE2 -I/usr/local/include
> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND
> -I/usr/local/include -I/usr/local/include -I/usr/local/include
> -I/usr/local/include -DNO_D_TYPE_IN_DIRENT -DNO_INET_NTOP
So you're defining NO_INET_NTOP.
Show 12 quoted lines
> -DNO_INET_PTON -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES
> -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0
> -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\""
> -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\""
> -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H -DHAVE_STRINGS_H
> -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC
> -DHAVE_GETDELIM -DFREAD_READS_DIRECTORIES -Icompat/regex
> -DSHELL_PATH='"/bin/bash"' -DPAGER_ENV='"LESS=FRX LV=-c"' kwset.c
> In file included from cache.h:4:0,
> from json-writer.c:1:
> git-compat-util.h:823:13: error: conflicting types for 'inet_ntop'
> const char *inet_ntop(int af, const void *src, char *dst, size_t size);
So we're defining one here.
Show 11 quoted lines
> In file included from cache.h:4:0,
> from ident.c:8:
> git-compat-util.h:823: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 cache.h:4,
> from ident.c:8:
> /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,
And then so are your system headers. You probably want to avoid setting that option, and then things will probably work better.
--
brian m. carlson (he/him or they/them)
Houston, Texas, US