Show 31 quoted lines
>
> 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
manipulationSYNOPSIS
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"
doneJeff