Hello, I am unable to build haproxy-1.7.x on FreeBSD:
cc -Iinclude -Iebtree -Wall -O2 -pipe -O2 -fno-strict-aliasing -pipe -fstack-protector -DFREEBSD_PORTS -DTPROXY -DCONFIG_HAP_CRYPT -DUSE_GETADDRINFO -DUSE_ZLIB -DENABLE_POLL -DENABLE_KQUEUE -DUSE_CPU_AFFINITY -DUSE_OPENSSL -DUSE_LUA -I/usr/local/include/lua53 -DUSE_DEVICEATLAS -I/place/WRK/ports/net/haproxy/work/deviceatlas-enterprise-c-2.1 -DUSE_PCRE -I/usr/local/include -DUSE_PCRE_JIT -DCONFIG_HAPROXY_VERSION=\"1.7.1\" -DCONFIG_HAPROXY_DATE=\"2016/12/13\" -c -o src/hlua_fcn.o src/hlua_fcn.c src/hlua_fcn.c:1019:27: error: no member named 's6_addr32' in 'struct in6_addr' if (((addr1->addr.v6.ip.s6_addr32[0] & addr2->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1019:62: error: no member named 's6_addr32' in 'struct in6_addr' ...if (((addr1->addr.v6.ip.s6_addr32[0] & addr2->addr.v6.mask.s6_addr32[0]... ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1020:27: error: no member named 's6_addr32' in 'struct in6_addr' (addr2->addr.v6.ip.s6_addr32[0] & addr1->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1020:62: error: no member named 's6_addr32' in 'struct in6_addr' ...(addr2->addr.v6.ip.s6_addr32[0] & addr1->addr.v6.mask.s6_addr32[0])) && ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1021:27: error: no member named 's6_addr32' in 'struct in6_addr' ((addr1->addr.v6.ip.s6_addr32[1] & addr2->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1021:62: error: no member named 's6_addr32' in 'struct in6_addr' ...((addr1->addr.v6.ip.s6_addr32[1] & addr2->addr.v6.mask.s6_addr32[1]) == ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1022:27: error: no member named 's6_addr32' in 'struct in6_addr' (addr2->addr.v6.ip.s6_addr32[1] & addr1->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1022:62: error: no member named 's6_addr32' in 'struct in6_addr' ...(addr2->addr.v6.ip.s6_addr32[1] & addr1->addr.v6.mask.s6_addr32[1])) && ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1023:27: error: no member named 's6_addr32' in 'struct in6_addr' ((addr1->addr.v6.ip.s6_addr32[2] & addr2->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1023:62: error: no member named 's6_addr32' in 'struct in6_addr' ...((addr1->addr.v6.ip.s6_addr32[2] & addr2->addr.v6.mask.s6_addr32[2]) == ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1024:27: error: no member named 's6_addr32' in 'struct in6_addr' (addr2->addr.v6.ip.s6_addr32[2] & addr1->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1024:62: error: no member named 's6_addr32' in 'struct in6_addr' ...(addr2->addr.v6.ip.s6_addr32[2] & addr1->addr.v6.mask.s6_addr32[2])) && ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1025:27: error: no member named 's6_addr32' in 'struct in6_addr' ((addr1->addr.v6.ip.s6_addr32[3] & addr2->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1025:62: error: no member named 's6_addr32' in 'struct in6_addr' ...((addr1->addr.v6.ip.s6_addr32[3] & addr2->addr.v6.mask.s6_addr32[3]) == ~~~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1026:27: error: no member named 's6_addr32' in 'struct in6_addr' (addr2->addr.v6.ip.s6_addr32[3] & addr1->addr.v6.ma... ~~~~~~~~~~~~~~~~~ ^ src/hlua_fcn.c:1026:62: error: no member named 's6_addr32' in 'struct in6_addr' ...(addr2->addr.v6.ip.s6_addr32[3] & addr1->addr.v6.mask.s6_addr32[3]))) { ~~~~~~~~~~~~~~~~~~~ ^ 16 errors generated. In netinet6/in6.h I see: #ifdef _KERNEL /* XXX nonstandard */ #define s6_addr8 __u6_addr.__u6_addr8 #define s6_addr16 __u6_addr.__u6_addr16 #define s6_addr32 __u6_addr.__u6_addr32 #endif So it seems that s6_addr32 macro is defined only when this header is included during kernel build.