Hey! Since there is some discrepancy in the definition of ntohll among platforms, I define this macro to shadow any existing definition:
#ifndef ntohll # define ntohll(x) \ (((u_int64_t)(ntohl((int)(((x) << 32) >> 32))) << 32) | \ (unsigned int)ntohl(((int)((x) >> 32)))) #endif You can try yourself. Or if you don't know what to replace, I can provide a patch. -- Don't compare floating point numbers just for equality. - The Elements of Programming Style (Kernighan & Plauger) ――――――― Original Message ――――――― From: Jonathan Fisher <jfis...@tomitribe.com> Sent: 18 mai 2016 10:22 -0400 Subject: Compilation problem: haproxy 1.6.5 (latest) on Solaris 11 To: haproxy@formilux.org > We can get 1.5 to compile quite nicely on Solaris 11 :) 1.6 has a few > nice features though we'd like to have, if it all possible. I have a > VMDK created if the developers want to try it themselves in a virtual > machine. > > Here is the output of the compiler, which is GCC-48: > > user@tomee:~/haproxy-1.6.5$ gmake TARGET=solaris > gcc -Iinclude -Iebtree -Wall -O2 -g -fno-strict-aliasing - > Wdeclaration-after-statement -fomit-frame-pointer -DFD_SETSIZE=65536 - > D_REENTRANT -DTPROXY -DCONFIG_HAP_CRYPT -DNEED_CRYPT_H - > DUSE_GETADDRINFO -DENABLE_POLL -DCONFIG_HAPROXY_VERSION=\"1.6.5\" - > DCONFIG_HAPROXY_DATE=\"2016/05/10\" \ > -DBUILD_TARGET='"solaris"' \ > -DBUILD_ARCH='""' \ > -DBUILD_CPU='"generic"' \ > -DBUILD_CC='"gcc"' \ > -DBUILD_CFLAGS='"-O2 -g -fno-strict-aliasing - > Wdeclaration-after-statement -fomit-frame-pointer -DFD_SETSIZE=65536 - > D_REENTRANT"' \ > -DBUILD_OPTIONS='""' \ > -c -o src/haproxy.o src/haproxy.c > In file included from include/common/ticks.h:56:0, > from include/proto/proxy.h:26, > from include/common/cfgparse.h:30, > from src/haproxy.c:63: > include/common/standard.h:1013:34: error: static declaration of > 'htonll' follows non-static declaration > static inline unsigned long long htonll(unsigned long long a) > ^ > In file included from /usr/include/netinet/in.h:73:0, > from /usr/include/sys/socket.h:29, > from src/haproxy.c:36: > /usr/include/sys/byteorder.h:75:17: note: previous declaration of > 'htonll' was here > extern uint64_t htonll(uint64_t); > ^ > In file included from include/common/ticks.h:56:0, > from include/proto/proxy.h:26, > from include/common/cfgparse.h:30, > from src/haproxy.c:63: > include/common/standard.h:1028:34: error: static declaration of > 'ntohll' follows non-static declaration > static inline unsigned long long ntohll(unsigned long long a) > ^ > In file included from /usr/include/netinet/in.h:73:0, > from /usr/include/sys/socket.h:29, > from src/haproxy.c:36: > /usr/include/sys/byteorder.h:76:17: note: previous declaration of > 'ntohll' was here > extern uint64_t ntohll(uint64_t); > ^ > gmake: *** [src/haproxy.o] Error 1 > user@tomee:~/haproxy-1.6.5$ > > cheers,