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 01, 2020 at 07:12:21AM -0500, Jeffrey Walton wrote:

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

It is included already. I think the real problem is that we are
declaring our own replacement inet_ntop(), which then conflicts with the
system one.

> 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

As you found there's a knob for this already. Building with:

  make NO_INET_NTOP= NO_INET_PTON=

to clear those flags would probably work (as would putting those
variables in your config.mak file).

But having those variables unset is already the default. The root of the
problem is likely that the autoconf test seems to get the wrong result
on Solaris (another workaround would be to remove them from
config.mak.autogen, but that will get obliterated next time you run
./configure).

The real fix would be teaching configure.ac to check for the correct
libraries (it looks like it has a -lsocket test already; I'm not sure if
that isn't being used in the test-compile for inet_ntop(), or if we need
to also be adding libraries like -lnsl).

I suspect that running autoconf with CFLAGS='-lsocket -lnsl' in the
environment might also make the problem go away, but it's been a long
enough time since I touched anything related to autoconf that I'm not
sure.

This also seems eerily familiar:

  https://lore.kernel.org/git/CAH8yC8kOj5a5PN4V7mj7xZPoNDr-MH-CkirxRKyfx1-qAvfpqQ@xxxxxxxxxxxxxx/

:) I second Junio's notion there that you may be better off skipping
./configure entirely.

-Peff



[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