Re: [PATCH] [BUILD] Haproxy won't compile if DEBUG_FULL is defined

From: Willy Tarreau <w#1wt.eu>
Date: Wed, 4 Feb 2009 22:42:31 +0100


Hi Vincenzo,

On Fri, Jan 30, 2009 at 04:49:10PM +0000, Vincenzo Farruggia wrote:
> As subject when i try to compile haproxy with -DDEBUG_FULL it stop at
> stream_sock.c file with:
> gcc -Iinclude -Wall -O2 -g -DDEBUG_FULL -DTPROXY -DENABLE_POLL
> -DENABLE_EPOLL -DENABLE_SEPOLL -DNETFILTER -DUSE_GETSOCKNAME
> -DCONFIG_HAPROXY_VERSION=\"1.3.15\"
> -DCONFIG_HAPROXY_DATE=\"2008/04/19\" -c -o src/stream_sock.o
> src/stream_sock.c
> src/stream_sock.c: In function 'stream_sock_chk_rcv':
> src/stream_sock.c:905: error: 'fd' undeclared (first use in this function)
> src/stream_sock.c:905: error: (Each undeclared identifier is reported only once
> src/stream_sock.c:905: error: for each function it appears in.)
> src/stream_sock.c:905: error: 'ob' undeclared (first use in this function)
> src/stream_sock.c: In function 'stream_sock_chk_snd':
> src/stream_sock.c:940: error: 'fd' undeclared (first use in this function)
> src/stream_sock.c:940: error: 'ib' undeclared (first use in this function)
> make: *** [src/stream_sock.o] Error 1
>
> With this patch all build fine:
>
> --- haproxy-ss-20090128-orig/src/stream_sock.c 2009-01-27
> 20:30:31.000000000 +0000
> +++ haproxy-ss-20090128/src/stream_sock.c 2009-01-30 10:14:54.000000000 +0000
> @@ -901,14 +901,14 @@
> void stream_sock_chk_rcv(struct stream_interface *si)
> {
> struct buffer *ib = si->ib;
> -
> +
> DPRINTF(stderr,"[%u] %s: fd=%d owner=%p ib=%p, ob=%p,
> exp(r,w)=%u,%u ibf=%08x obf=%08x ibl=%d obl=%d si=%d\n",
> now_ms, __FUNCTION__,
> - fd, fdtab[fd].owner,
> - ib, ob,
> - ib->rex, ob->wex,
> - ib->flags, ob->flags,
> - ib->l, ob->l, si->state);
> + si->fd, fdtab[si->fd].owner,
> + ib, si->ob,
> + ib->rex, si->ob->wex,
> + ib->flags, si->ob->flags,
> + ib->l, si->ob->l, si->state);
>
> if (unlikely(si->state != SI_ST_EST || (ib->flags & BF_SHUTR)))
> return;
> @@ -939,11 +939,11 @@
>
> DPRINTF(stderr,"[%u] %s: fd=%d owner=%p ib=%p, ob=%p,
> exp(r,w)=%u,%u ibf=%08x obf=%08x ibl=%d obl=%d si=%d\n",
> now_ms, __FUNCTION__,
> - fd, fdtab[fd].owner,
> - ib, ob,
> - ib->rex, ob->wex,
> - ib->flags, ob->flags,
> - ib->l, ob->l, si->state);
> + si->fd, fdtab[si->fd].owner,
> + si->ib, ob,
> + si->ib->rex, ob->wex,
> + si->ib->flags, ob->flags,
> + si->ib->l, ob->l, si->state);
>
> if (unlikely(si->state != SI_ST_EST || (ob->flags & BF_SHUTW)))
> return;

OK thanks, it's small enough so I'll merge it. DEBUG_FULL is not always functional in development versions. You'll notice that it tends to print a lot of info which change from time to time. So I generally fix it when I have to use it and see it breaks ;-)

So in short, next time don't waste your time trying to fix it in dev version ;-)

Thanks!
Willy Received on 2009/02/04 22:42

This archive was generated by hypermail 2.2.0 : 2009/02/04 22:45 CET