On Mon, Aug 8, 2016 at 12:30 PM, Willy Tarreau <w...@1wt.eu> wrote:

> Hi Baptiste,
>
> On Mon, Aug 08, 2016 at 12:21:54PM +0200, Baptiste wrote:
> > Hi All,
> >
> > I test my HAProxy code in docker containers over alpine Linux and I can't
> > build the haproxy -dev branch anymore...
> > I have the following error:
> > gcc -Iinclude -Iebtree -Wall  -O0 -g -fno-strict-aliasing
> > -Wdeclaration-after-statement       -DCONFIG_HAP_LINUX_SPLICE -DTPROXY
> > -DCONFIG_HAP_LINUX_TPROXY -DCONFIG_HAP_CRYPT -DUSE_ZLIB  -DENABLE_POLL
> > -DENABLE_EPOLL -DUSE_CPU_AFFINITY -DASSUME_SPLICE_WORKS -DUSE_ACCEPT4
> > -DNETFILTER -DUSE_GETSOCKNAME -DUSE_OPENSSL  -DUSE_SYSCALL_FUTEX
> -DUSE_PCRE
> > -I/usr/include  -DCONFIG_HAPROXY_VERSION=\"1.7-dev3-aa1ea8-87\"
> > -DCONFIG_HAPROXY_DATE=\"2016/08/07\" -c -o src/proto_tcp.o
> src/proto_tcp.c
> > src/proto_tcp.c: In function 'get_tcp_info':
> > src/proto_tcp.c:2329:18: error: storage size of 'info' isn't known
> >   struct tcp_info info;
> >                   ^
> > src/proto_tcp.c:2329:18: warning: unused variable 'info'
> [-Wunused-variable]
> > Makefile:791: recipe for target 'src/proto_tcp.o' failed
> > make: *** [src/proto_tcp.o] Error 1
>
> It's embarrassing because it looks like your libc is missing this
> definition though it properly has TCP_INFO defined. Let's hope it's
> only a matter of adding an extra include. Could you please search
> where it appears below /usr/include ?
>
> Willy
>

Here you go:
  # fgrep -r tcp_info /usr/include/*
  /usr/include/linux/tcp.h:struct tcp_info {
  /usr/include/netinet/tcp.h:struct tcp_info

It seems to be exactly the same that on my ubuntu 14.04.
alpine linux natively use musl, an alternative libc library. I tried to
install a "real" libc instead, with the same error as above (that said, I
wonder how much my libc library was used or not, I'm investigating in that
direction).

Note that I don't have any problem compiling HAProxy 1.6-latest on the same
OS.

Baptiste

Reply via email to