Hi Joris, On Thu, Jun 11, 2015 at 03:57:27PM +0200, joris dedieu wrote: > Ok. I have checked out the main repo > I'm at 28b48ccbc879a552f988e6e1db22941e3362b4db (...)
> Same issue same solution with minor adjustments for the patch to apply > > Joris > > diff --git a/include/common/compat.h b/include/common/compat.h > index ecbc3b1..48ea1f7 100644 > --- a/include/common/compat.h > +++ b/include/common/compat.h > @@ -27,6 +27,8 @@ > #include <sys/types.h> > #include <sys/socket.h> > #include <arpa/inet.h> > +#include <common/config.h> > +#include <common/standard.h> > > #ifndef BITS_PER_INT > #define BITS_PER_INT (8*sizeof(int)) > diff --git a/include/common/config.h b/include/common/config.h > index 27b8f14..5833cfc 100644 > --- a/include/common/config.h > +++ b/include/common/config.h > @@ -23,7 +23,6 @@ > #define _COMMON_CONFIG_H > > #include <common/compiler.h> > -#include <common/compat.h> > #include <common/defaults.h> > > /* this reduces the number of calls to select() by choosing appropriate > diff --git a/include/types/global.h b/include/types/global.h > index b3b9672..3812771 100644 > --- a/include/types/global.h > +++ b/include/types/global.h > @@ -25,7 +25,6 @@ > #include <netinet/in.h> > > #include <common/config.h> > -#include <common/standard.h> > #include <import/da.h> > #include <types/freq_ctr.h> > #include <types/listener.h> Since in theory that doesn't make sense at all, I suspect that we're falling into a case of a #ifndef <something> where <something> is defined on your platform. Could you please try the following with and without the patch above : make clean make [your usual options] DEBUG_CFLAGS="-dM -E" It will not complete, as it will dump all known defines into each .o file. By archiving them between the builds, you can diff the trees and see if a define appears/disappears from one .o file (probably the one where you see the crash). I'd bet that we'll find that FreeBSD uses a macro with a similar name as one in haproxy and that it changes a struct size or something depending on how the .h are included. Thanks, Willy

