Hi, 
When I want to compile BIRD with --enable-debug option, it fails with the following error. while without the debug option it compiles fine. 

[Archlinux gcc 4.8.2 20140206 (prerelease), kernel 3.13.8]

gcc -I../ -I../..  -g -O2 -pthread -Wall -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -fno-strict-aliasing -fno-strict-overflow -o proto.o -c ../../nest/proto.c
In file included from ../../nest/bird.h:13:0,
                 from ../../nest/proto.c:11:
../../nest/proto.c: In function ‘proto_want_export_up’:
../../nest/proto.c:1238:27: error: ‘CS_HAPPY’ undeclared (first use in this function)
   ASSERT(p->core_state == CS_HAPPY);
                           ^
../lib/birdlib.h:125:30: note: in definition of macro ‘ASSERT’
 #define ASSERT(x) do { if (!(x)) bug("Assertion `%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0)
                              ^
../../nest/proto.c:1238:27: note: each undeclared identifier is reported only once for each function it appears in
   ASSERT(p->core_state == CS_HAPPY);
                           ^
../lib/birdlib.h:125:30: note: in definition of macro ‘ASSERT’
 #define ASSERT(x) do { if (!(x)) bug("Assertion `%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0)
                              ^
../../nest/proto.c: In function ‘proto_want_core_down’:
../../nest/proto.c:1261:27: error: ‘CS_HAPPY’ undeclared (first use in this function)
   ASSERT(p->core_state == CS_HAPPY);
                           ^
../lib/birdlib.h:125:30: note: in definition of macro ‘ASSERT’
 #define ASSERT(x) do { if (!(x)) bug("Assertion `%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0)
                              ^
../Rules:76: recipe for target 'proto.o' failed


--
Best wishes,
Bahram BahramBeigy
http://www.bahrambeigy.ir