On Wed, Mar 29, 2017 at 1:11 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Jeffrey Walton <noloader@xxxxxxxxx> writes: > >> Some more 2.12.2 testing on Solaris 11.3 x86_64: >> >> $ make V=1 >> gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ >> credential-store.o -MMD -MP -I/usr/local/include -m64 -m64 -I. >> -D__EXTENSIONS__ -D__sun__ -DUSE_LIBPCRE -I/usr/local/include >> -DHAVE_ALLOCA_H -I/usr/local/include -DUSE_CURL_FOR_IMAP_SEND >> -I/usr/local/include -I/usr/local/include -DNO_D_TYPE_IN_DIRENT >> -DNO_INET_NTOP -DNO_INET_PTON -DHAVE_PATHS_H -DHAVE_LIBCHARSET_H > > Looking at config.mak.uname, nothing in SunOS section seems to set > NO_INET_NTOP or NO_INET_PTON. Why is your build setting them? Thanks. It looks like the following is the culprit (from config.log). Am I supposed to specify the socket library, or is Autotools supposed to specify it? To date, I've been specify the libraries I request, like IDN2, PCRE, cURL and OpenSSL. I don't recall specifying a socket library in the past, so I'm not sure what is supposed to happen here. Thanks in advance. ********** It was created by git configure 2.12.2, which was generated by GNU Autoconf 2.68. Invocation command line was $ ./configure --enable-pthreads --with-lib=/usr/local/lib64 --with-openssl=/usr/local --with-curl=/usr/local --with-libpcre=/usr/local --with-zlib=/usr/local --with-perl=/usr/local/bin/perl --prefix=/usr/local ... configure:5552: checking for inet_ntop configure:5552: gcc -o conftest -m64 -I/usr/local/include -m64 -Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5 Undefined first referenced symbol in file inet_ntop /var/tmp//cc2WaWwg.o (symbol belongs to implicit dependency /lib/amd64/libnsl.so.1) ld: fatal: symbol referencing errors collect2: error: ld returned 1 exit status configure:5552: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "git" | #define PACKAGE_TARNAME "git" | #define PACKAGE_VERSION "2.12.2" | #define PACKAGE_STRING "git 2.12.2" | #define PACKAGE_BUGREPORT "git@xxxxxxxxxxxxxxx" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | /* end confdefs.h. */ | /* Define inet_ntop to an innocuous variant, in case <limits.h> declares inet_ntop. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define inet_ntop innocuous_inet_ntop | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char inet_ntop (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef inet_ntop | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char inet_ntop (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_inet_ntop || defined __stub___inet_ntop | choke me | #endif | | int | main () | { | return inet_ntop (); | ; | return 0; | } configure:5552: result: no configure:5556: checking for inet_ntop in -lresolv configure:5581: gcc -o conftest -m64 -I/usr/local/include -m64 -Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lresolv -lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5 Undefined first referenced symbol in file inet_ntop /var/tmp//ccZYayyg.o (symbol belongs to implicit dependency /lib/amd64/libnsl.so.1) ld: fatal: symbol referencing errors collect2: error: ld returned 1 exit status configure:5581: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "git" | #define PACKAGE_TARNAME "git" | #define PACKAGE_VERSION "2.12.2" | #define PACKAGE_STRING "git 2.12.2" | #define PACKAGE_BUGREPORT "git@xxxxxxxxxxxxxxx" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char inet_ntop (); | int | main () | { | return inet_ntop (); | ; | return 0; | } configure:5590: result: no configure:5607: checking for inet_pton configure:5607: gcc -o conftest -m64 -I/usr/local/include -m64 -Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5 Undefined first referenced symbol in file inet_pton /var/tmp//ccW0aaAg.o (symbol belongs to implicit dependency /lib/amd64/libnsl.so.1) ld: fatal: symbol referencing errors collect2: error: ld returned 1 exit status configure:5607: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "git" | #define PACKAGE_TARNAME "git" | #define PACKAGE_VERSION "2.12.2" | #define PACKAGE_STRING "git 2.12.2" | #define PACKAGE_BUGREPORT "git@xxxxxxxxxxxxxxx" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | /* end confdefs.h. */ | /* Define inet_pton to an innocuous variant, in case <limits.h> declares inet_pton. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define inet_pton innocuous_inet_pton | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char inet_pton (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef inet_pton | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char inet_pton (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_inet_pton || defined __stub___inet_pton | choke me | #endif | | int | main () | { | return inet_pton (); | ; | return 0; | } configure:5607: result: no configure:5611: checking for inet_pton in -lresolv configure:5636: gcc -o conftest -m64 -I/usr/local/include -m64 -Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64 conftest.c -lresolv -lidn2 -lcurl -lssl -lcrypto -lz -ldl -lpthread -lsocket >&5 Undefined first referenced symbol in file inet_pton /var/tmp//ccG2aOBg.o (symbol belongs to implicit dependency /lib/amd64/libnsl.so.1) ld: fatal: symbol referencing errors collect2: error: ld returned 1 exit status configure:5636: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "git" | #define PACKAGE_TARNAME "git" | #define PACKAGE_VERSION "2.12.2" | #define PACKAGE_STRING "git 2.12.2" | #define PACKAGE_BUGREPORT "git@xxxxxxxxxxxxxxx" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char inet_pton (); | int | main () | { | return inet_pton (); | ; | return 0; | } configure:5645: result: no