{"thread":{"id":"45535","subject":"git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","startedAt":"2017-03-29T09:19:29Z","lastAt":"2017-03-30T20:49:00Z","messageCount":6,"participants":["Jeffrey Walton","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"315656","messageId":"CAH8yC8kOj5a5PN4V7mj7xZPoNDr-MH-CkirxRKyfx1-qAvfpqQ@mail.gmail.com","threadId":"45535","inReplyTo":null,"subject":"git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-03-29T09:19:17Z","receivedAt":"2017-03-29T09:19:29Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"Some more 2.12.2 testing on Solaris 11.3 x86_64:\n\n$ make V=1\ngcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\ncredential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n-D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n-DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n-I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n-DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n-DHAVE_STRINGS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME\n-DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM -DSHA1_HEADER='<openssl/sha.h>'\n -Icompat/regex -DSHELL_PATH='\"/bin/bash\"' -DPAGER_ENV='\"LESS=FRX\nLV=-c\"'  credential-store.c\nIn file included from cache.h:4:0,\n                 from credential-store.c:1:\ngit-compat-util.h:735:13: error: conflicting types for 'inet_ntop'\n const char *inet_ntop(int af, const void *src, char *dst, size_t size);\n             ^\nIn file included from git-compat-util.h:209:0,\n                 from cache.h:4,\n                 from credential-store.c:1:\n/usr/include/arpa/inet.h:43:20: note: previous declaration of\n'inet_ntop' was here\n extern const char *inet_ntop(int, const void *_RESTRICT_KYWD,\n                    ^\nmake: *** [credential-store.o] Error 1\n\n\n\nLooking at git-compat-util.h around line 730:\n\n#ifdef NO_INET_PTON\nint inet_pton(int af, const char *src, void *dst);\n#endif\n\n#ifdef NO_INET_NTOP\nconst char *inet_ntop(int af, const void *src, char *dst, size_t size);\n#endif\n\n\n\nWhen I grep config.log, I don't see a test that results in NO_INET_*:\n\n    $ grep NO_INET config.log\n    $\n\n\n\nAccording to Solaris' man page for inet_ntop:\n\ninet(3SOCKET)              Sockets Library Functions             inet(3SOCKET)\n\nNAME\n       inet,  inet6, inet_ntop, inet_pton, inet_aton, inet_addr, inet_network,\n       inet_makeaddr, inet_lnaof, inet_netof,  inet_ntoa  -  Internet  address\n       manipulation\n\nSYNOPSIS\n       cc [ flag... ] file... -lsocket  -lnsl  [ library... ]\n       #include <sys/socket.h>\n       #include <netinet/in.h>\n       #include <arpa/inet.h>\n\n       const char *inet_ntop(int af, const void *addr, char *cp,\n            socklen_t size);\n\n       int inet_pton(int af, const char *cp, void *addr);\n\n       int inet_aton(const char *cp, struct in_addr *addr);\n\n       in_addr_t inet_addr(const char *cp);\n\n       in_addr_t inet_network(const char *cp);\n       ...\n\nJeff\n"},{"id":"315688","messageId":"xmqqbmskatz3.fsf@gitster.mtv.corp.google.com","threadId":"45535","inReplyTo":"CAH8yC8kOj5a5PN4V7mj7xZPoNDr-MH-CkirxRKyfx1-qAvfpqQ@mail.gmail.com","subject":"Re: git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-29T17:11:28Z","receivedAt":"2017-03-29T17:11:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeffrey Walton <noloader@gmail.com> writes:\n\n> Some more 2.12.2 testing on Solaris 11.3 x86_64:\n>\n> $ make V=1\n> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\n> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n> -DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n\nLooking at config.mak.uname, nothing in SunOS section seems to set\nNO_INET_NTOP or NO_INET_PTON.  Why is your build setting them?\n"},{"id":"315817","messageId":"CAH8yC8mMzZGebmZ23dsgY6Zkxk3w_Kpt7O6Z-0CwRQyTBF5uvg@mail.gmail.com","threadId":"45535","inReplyTo":"xmqqbmskatz3.fsf@gitster.mtv.corp.google.com","subject":"Re: git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-03-30T20:06:36Z","receivedAt":"2017-03-30T20:06:42Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Wed, Mar 29, 2017 at 1:11 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Jeffrey Walton <noloader@gmail.com> writes:\n>\n>> Some more 2.12.2 testing on Solaris 11.3 x86_64:\n>>\n>> $ make V=1\n>> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\n>> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n>> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n>> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n>> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n>> -DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n>\n> Looking at config.mak.uname, nothing in SunOS section seems to set\n> NO_INET_NTOP or NO_INET_PTON.  Why is your build setting them?\n\nThanks. It looks like the following is the culprit (from config.log).\nAm I supposed to specify the socket library, or is Autotools supposed\nto specify it?\n\nTo date, I've been specify the libraries I request, like IDN2, PCRE,\ncURL and OpenSSL.\n\nI don't recall specifying a socket library in the past, so I'm not\nsure what is supposed to happen here.\n\nThanks in advance.\n\n**********\n\nIt was created by git configure 2.12.2, which was\ngenerated by GNU Autoconf 2.68.  Invocation command line was\n\n  $ ./configure --enable-pthreads --with-lib=/usr/local/lib64\n--with-openssl=/usr/local --with-curl=/usr/local\n--with-libpcre=/usr/local --with-zlib=/usr/local\n--with-perl=/usr/local/bin/perl --prefix=/usr/local\n...\n\nconfigure:5552: checking for inet_ntop\nconfigure:5552: gcc -o conftest -m64 -I/usr/local/include -m64\n-Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lidn2\n-lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5\nUndefined            first referenced\n symbol                  in file\ninet_ntop                           /var/tmp//cc2WaWwg.o  (symbol\nbelongs to implicit dependency /lib/amd64/libnsl.so.1)\nld: fatal: symbol referencing errors\ncollect2: error: ld returned 1 exit status\nconfigure:5552: $? = 1\nconfigure: failed program was:\n| /* confdefs.h */\n| #define PACKAGE_NAME \"git\"\n| #define PACKAGE_TARNAME \"git\"\n| #define PACKAGE_VERSION \"2.12.2\"\n| #define PACKAGE_STRING \"git 2.12.2\"\n| #define PACKAGE_BUGREPORT \"git@vger.kernel.org\"\n| #define PACKAGE_URL \"\"\n| #define STDC_HEADERS 1\n| #define HAVE_SYS_TYPES_H 1\n| #define HAVE_SYS_STAT_H 1\n| #define HAVE_STDLIB_H 1\n| #define HAVE_STRING_H 1\n| #define HAVE_MEMORY_H 1\n| #define HAVE_STRINGS_H 1\n| #define HAVE_INTTYPES_H 1\n| #define HAVE_STDINT_H 1\n| #define HAVE_UNISTD_H 1\n| #define HAVE_ALLOCA_H 1\n| #define HAVE_ALLOCA 1\n| /* end confdefs.h.  */\n| /* Define inet_ntop to an innocuous variant, in case <limits.h>\ndeclares inet_ntop.\n|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */\n| #define inet_ntop innocuous_inet_ntop\n|\n| /* System header to define __stub macros and hopefully few prototypes,\n|     which can conflict with char inet_ntop (); below.\n|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since\n|     <limits.h> exists even on freestanding compilers.  */\n|\n| #ifdef __STDC__\n| # include <limits.h>\n| #else\n| # include <assert.h>\n| #endif\n|\n| #undef inet_ntop\n|\n| /* Override any GCC internal prototype to avoid an error.\n|    Use char because int might match the return type of a GCC\n|    builtin and then its argument prototype would still apply.  */\n| #ifdef __cplusplus\n| extern \"C\"\n| #endif\n| char inet_ntop ();\n| /* The GNU C library defines this for functions which it implements\n|     to always fail with ENOSYS.  Some functions are actually named\n|     something starting with __ and the normal name is an alias.  */\n| #if defined __stub_inet_ntop || defined __stub___inet_ntop\n| choke me\n| #endif\n|\n| int\n| main ()\n| {\n| return inet_ntop ();\n|   ;\n|   return 0;\n| }\nconfigure:5552: result: no\nconfigure:5556: checking for inet_ntop in -lresolv\nconfigure:5581: gcc -o conftest -m64 -I/usr/local/include -m64\n-Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lresolv\n-lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5\nUndefined            first referenced\n symbol                  in file\ninet_ntop                           /var/tmp//ccZYayyg.o  (symbol\nbelongs to implicit dependency /lib/amd64/libnsl.so.1)\nld: fatal: symbol referencing errors\ncollect2: error: ld returned 1 exit status\nconfigure:5581: $? = 1\nconfigure: failed program was:\n| /* confdefs.h */\n| #define PACKAGE_NAME \"git\"\n| #define PACKAGE_TARNAME \"git\"\n| #define PACKAGE_VERSION \"2.12.2\"\n| #define PACKAGE_STRING \"git 2.12.2\"\n| #define PACKAGE_BUGREPORT \"git@vger.kernel.org\"\n| #define PACKAGE_URL \"\"\n| #define STDC_HEADERS 1\n| #define HAVE_SYS_TYPES_H 1\n| #define HAVE_SYS_STAT_H 1\n| #define HAVE_STDLIB_H 1\n| #define HAVE_STRING_H 1\n| #define HAVE_MEMORY_H 1\n| #define HAVE_STRINGS_H 1\n| #define HAVE_INTTYPES_H 1\n| #define HAVE_STDINT_H 1\n| #define HAVE_UNISTD_H 1\n| #define HAVE_ALLOCA_H 1\n| #define HAVE_ALLOCA 1\n| /* end confdefs.h.  */\n|\n| /* Override any GCC internal prototype to avoid an error.\n|    Use char because int might match the return type of a GCC\n|    builtin and then its argument prototype would still apply.  */\n| #ifdef __cplusplus\n| extern \"C\"\n| #endif\n| char inet_ntop ();\n| int\n| main ()\n| {\n| return inet_ntop ();\n|   ;\n|   return 0;\n| }\nconfigure:5590: result: no\nconfigure:5607: checking for inet_pton\nconfigure:5607: gcc -o conftest -m64 -I/usr/local/include -m64\n-Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lidn2\n-lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5\nUndefined            first referenced\n symbol                  in file\ninet_pton                           /var/tmp//ccW0aaAg.o  (symbol\nbelongs to implicit dependency /lib/amd64/libnsl.so.1)\nld: fatal: symbol referencing errors\ncollect2: error: ld returned 1 exit status\nconfigure:5607: $? = 1\nconfigure: failed program was:\n| /* confdefs.h */\n| #define PACKAGE_NAME \"git\"\n| #define PACKAGE_TARNAME \"git\"\n| #define PACKAGE_VERSION \"2.12.2\"\n| #define PACKAGE_STRING \"git 2.12.2\"\n| #define PACKAGE_BUGREPORT \"git@vger.kernel.org\"\n| #define PACKAGE_URL \"\"\n| #define STDC_HEADERS 1\n| #define HAVE_SYS_TYPES_H 1\n| #define HAVE_SYS_STAT_H 1\n| #define HAVE_STDLIB_H 1\n| #define HAVE_STRING_H 1\n| #define HAVE_MEMORY_H 1\n| #define HAVE_STRINGS_H 1\n| #define HAVE_INTTYPES_H 1\n| #define HAVE_STDINT_H 1\n| #define HAVE_UNISTD_H 1\n| #define HAVE_ALLOCA_H 1\n| #define HAVE_ALLOCA 1\n| /* end confdefs.h.  */\n| /* Define inet_pton to an innocuous variant, in case <limits.h>\ndeclares inet_pton.\n|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */\n| #define inet_pton innocuous_inet_pton\n|\n| /* System header to define __stub macros and hopefully few prototypes,\n|     which can conflict with char inet_pton (); below.\n|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since\n|     <limits.h> exists even on freestanding compilers.  */\n|\n| #ifdef __STDC__\n| # include <limits.h>\n| #else\n| # include <assert.h>\n| #endif\n|\n| #undef inet_pton\n|\n| /* Override any GCC internal prototype to avoid an error.\n|    Use char because int might match the return type of a GCC\n|    builtin and then its argument prototype would still apply.  */\n| #ifdef __cplusplus\n| extern \"C\"\n| #endif\n| char inet_pton ();\n| /* The GNU C library defines this for functions which it implements\n|     to always fail with ENOSYS.  Some functions are actually named\n|     something starting with __ and the normal name is an alias.  */\n| #if defined __stub_inet_pton || defined __stub___inet_pton\n| choke me\n| #endif\n|\n| int\n| main ()\n| {\n| return inet_pton ();\n|   ;\n|   return 0;\n| }\nconfigure:5607: result: no\nconfigure:5611: checking for inet_pton in -lresolv\nconfigure:5636: gcc -o conftest -m64 -I/usr/local/include -m64\n-Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lresolv\n-lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5\nUndefined            first referenced\n symbol                  in file\ninet_pton                           /var/tmp//ccG2aOBg.o  (symbol\nbelongs to implicit dependency /lib/amd64/libnsl.so.1)\nld: fatal: symbol referencing errors\ncollect2: error: ld returned 1 exit status\nconfigure:5636: $? = 1\nconfigure: failed program was:\n| /* confdefs.h */\n| #define PACKAGE_NAME \"git\"\n| #define PACKAGE_TARNAME \"git\"\n| #define PACKAGE_VERSION \"2.12.2\"\n| #define PACKAGE_STRING \"git 2.12.2\"\n| #define PACKAGE_BUGREPORT \"git@vger.kernel.org\"\n| #define PACKAGE_URL \"\"\n| #define STDC_HEADERS 1\n| #define HAVE_SYS_TYPES_H 1\n| #define HAVE_SYS_STAT_H 1\n| #define HAVE_STDLIB_H 1\n| #define HAVE_STRING_H 1\n| #define HAVE_MEMORY_H 1\n| #define HAVE_STRINGS_H 1\n| #define HAVE_INTTYPES_H 1\n| #define HAVE_STDINT_H 1\n| #define HAVE_UNISTD_H 1\n| #define HAVE_ALLOCA_H 1\n| #define HAVE_ALLOCA 1\n| /* end confdefs.h.  */\n|\n| /* Override any GCC internal prototype to avoid an error.\n|    Use char because int might match the return type of a GCC\n|    builtin and then its argument prototype would still apply.  */\n| #ifdef __cplusplus\n| extern \"C\"\n| #endif\n| char inet_pton ();\n| int\n| main ()\n| {\n| return inet_pton ();\n|   ;\n|   return 0;\n| }\nconfigure:5645: result: no\n"},{"id":"315822","messageId":"CAH8yC8kJdcV+cFPTN5WXAtvB4fpbRXUR3v45YSiY0=acgguwBw@mail.gmail.com","threadId":"45535","inReplyTo":"CAH8yC8mMzZGebmZ23dsgY6Zkxk3w_Kpt7O6Z-0CwRQyTBF5uvg@mail.gmail.com","subject":"Re: git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-03-30T20:28:38Z","receivedAt":"2017-03-30T20:28:44Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Thu, Mar 30, 2017 at 4:06 PM, Jeffrey Walton <noloader@gmail.com> wrote:\n> On Wed, Mar 29, 2017 at 1:11 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Jeffrey Walton <noloader@gmail.com> writes:\n>>\n>>> Some more 2.12.2 testing on Solaris 11.3 x86_64:\n>>>\n>>> $ make V=1\n>>> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\n>>> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n>>> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n>>> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n>>> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n>>> -DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n>>\n>> Looking at config.mak.uname, nothing in SunOS section seems to set\n>> NO_INET_NTOP or NO_INET_PTON.  Why is your build setting them?\n>\n> Thanks. It looks like the following is the culprit (from config.log).\n> Am I supposed to specify the socket library, or is Autotools supposed\n> to specify it?\n>\n> To date, I've been specify the libraries I request, like IDN2, PCRE,\n> cURL and OpenSSL.\n>\n> I don't recall specifying a socket library in the past, so I'm not\n> sure what is supposed to happen here.\n\nIt looks like adding -lnsl and -lsocket clears the issue.\n\nMaybe Git on Solaris should test with both of the libraries, and not\njust -lsockets.\n\nJeff\n"},{"id":"315824","messageId":"xmqqefxe33t5.fsf@gitster.mtv.corp.google.com","threadId":"45535","inReplyTo":"CAH8yC8mMzZGebmZ23dsgY6Zkxk3w_Kpt7O6Z-0CwRQyTBF5uvg@mail.gmail.com","subject":"Re: git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-30T20:30:46Z","receivedAt":"2017-03-30T20:30:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeffrey Walton <noloader@gmail.com> writes:\n\n> On Wed, Mar 29, 2017 at 1:11 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Jeffrey Walton <noloader@gmail.com> writes:\n>>\n>>> Some more 2.12.2 testing on Solaris 11.3 x86_64:\n>>>\n>>> $ make V=1\n>>> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\n>>> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n>>> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n>>> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n>>> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n>>> -DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n>>\n>> Looking at config.mak.uname, nothing in SunOS section seems to set\n>> NO_INET_NTOP or NO_INET_PTON.  Why is your build setting them?\n>\n> Thanks. It looks like the following is the culprit (from config.log).\n> Am I supposed to specify the socket library, or is Autotools supposed\n> to specify it?\n>\n> To date, I've been specify the libraries I request, like IDN2, PCRE,\n> cURL and OpenSSL.\n>\n> I don't recall specifying a socket library in the past, so I'm not\n> sure what is supposed to happen here.\n\nI'd be hated for saying this by many people, but my suspicion is\nthat those who build Git are often better off ignoring the autoconf\npart of the build procedure, as it is my impression that ./configure\nwe ship is not as well maintained as the Makefile.  \n\nLooking through the first part of Makefile, I notice that INET_NTOP\nand INET_PTON bits are not described; we probably should add these\ntwo close to where we say \"Define NO_IPV6 if you lack IPv6 support\".\n\n"},{"id":"315829","messageId":"CAH8yC8kxaecjJxZOsBHn1b0xNUqgtemSL+jTu3nZ8SwgSZfuVA@mail.gmail.com","threadId":"45535","inReplyTo":"xmqqefxe33t5.fsf@gitster.mtv.corp.google.com","subject":"Re: git-compat-util.h:735:13: error: conflicting types for 'inet_ntop'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-03-30T20:48:53Z","receivedAt":"2017-03-30T20:49:00Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Thu, Mar 30, 2017 at 4:30 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Jeffrey Walton <noloader@gmail.com> writes:\n>\n>> On Wed, Mar 29, 2017 at 1:11 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> Jeffrey Walton <noloader@gmail.com> writes:\n>>>\n>>>> Some more 2.12.2 testing on Solaris 11.3 x86_64:\n>>>>\n>>>> $ make V=1\n>>>> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ\n>>>> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I.\n>>>> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include\n>>>> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND\n>>>> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT\n>>>> -DNO_INET_NTOP -DNO_INET_PTON  -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H\n>>>\n>>> Looking at config.mak.uname, nothing in SunOS section seems to set\n>>> NO_INET_NTOP or NO_INET_PTON.  Why is your build setting them?\n>>\n>> Thanks. It looks like the following is the culprit (from config.log).\n>> Am I supposed to specify the socket library, or is Autotools supposed\n>> to specify it?\n>>\n>> To date, I've been specify the libraries I request, like IDN2, PCRE,\n>> cURL and OpenSSL.\n>>\n>> I don't recall specifying a socket library in the past, so I'm not\n>> sure what is supposed to happen here.\n>\n> I'd be hated for saying this by many people, but my suspicion is\n> that those who build Git are often better off ignoring the autoconf\n> part of the build procedure, as it is my impression that ./configure\n> we ship is not as well maintained as the Makefile.\n>\n> Looking through the first part of Makefile, I notice that INET_NTOP\n> and INET_PTON bits are not described; we probably should add these\n> two close to where we say \"Define NO_IPV6 if you lack IPv6 support\".\n\nLol... I avoid Autotools when I can, too.\n\nIn this case, since Git supplies Autotools and the fix looks easy,\nmaybe -lnsl -lsockets is the path to chose on Solaris. It ensures\nthings \"just work\" under the common case. It will avoid future\nproblems, and keep the mailing list dark and silent.\n\nOne other thing I try to engineer around... folks usually don't read\nREADME's. I fell if README's were going to work, then it would have\nhappened by now in the last 40 or 50 years. Since the indicators tell\nme they don't work, I don't depend on them.\n\nI guess another option is to remove Autotools. I'm fine with using GNU\nMake as the primary build system. But like you said, other folks may\nwant to tar and feather you for it.\n\nJeff\n"}]}