The FreeBSD header files define the AI_V4MAPPED but its implementation of getaddrinfo() always returns an error when that flag is set. eg
address resolution failed for localhost:9000: Invalid value for ai_flags Since this flag is not critical for DNS lookups, just undefine it on FreeBSD platforms. Signed-off-by: Daniel P. Berrange <berra...@redhat.com> --- util/qemu-sockets.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index b87e17f..3007345 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -29,6 +29,15 @@ #ifndef AI_ADDRCONFIG # define AI_ADDRCONFIG 0 #endif + +/* FreeBSD defines AI_V4MAPPED in its header files but its + * getaddrinfo() implementation always returns an error + * when it is used. Tested with FreeBSD 10.2. Recheck new + * releases periodically to see if this gets fixed.... + */ +#if defined(AI_V4MAPPED) && defined(__FreeBSD__) +# undef AI_V4MAPPED +#endif #ifndef AI_V4MAPPED # define AI_V4MAPPED 0 #endif -- 2.5.5