[dev] build failure on recent FreeBSD of legacy version

mike tancsa mike at sentex.net
Wed May 27 12:05:58 EDT 2020


I know 3.x isnt supported anymore, but I needed to build the binary for
various reasons and ran into a build failure on bgpd.c and bgp_routemap.c

cc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/usr/local/etc/frr/\" -I. -I..  -I..
-I.. -I../lib -I../lib -Irfapi -I../bgpd/rfp-example/librfp
-I/usr/local/include  -O2 -pipe  -fstack-protector-strong
-fno-strict-aliasing  -fno-omit-frame-pointer -Wall -Wextra
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wbad-function-cast -Wwrite-strings -Wno-unused-result
-Wno-unused-parameter -Wno-missing-field-initializers -MT bgp_aspath.o
-MD -MP -MF $depbase.Tpo -c -o bgp_aspath.o bgp_aspath.c &&\
mv -f $depbase.Tpo $depbase.Po
bgpd.c:6210:22: error: use of undeclared identifier 'FALSE'
        int if_pg_printed = FALSE;
                            ^
bgpd.c:6211:23: error: use of undeclared identifier 'FALSE'
        int if_ras_printed = FALSE;
                             ^
bgpd.c:6233:20: error: use of undeclared identifier 'TRUE'
                        if_pg_printed = TRUE;
                                        ^
bgpd.c:6236:21: error: use of undeclared identifier 'TRUE'
                        if_ras_printed = TRUE;
                                         ^
bgpd.c:6239:21: error: use of undeclared identifier 'TRUE'
                        if_ras_printed = TRUE;
                                         ^
bgpd.c:6242:21: error: use of undeclared identifier 'TRUE'
                        if_ras_printed = TRUE;
                                         ^
6 errors generated.

I am compiling with FreeBSD clang version 8.0.1 and GNU Make 4.3.  I
dont see 'TRUE' nor 'FALSE' defined anywhere ? I think with previous
versions of gmake and the auto* tools it was ok?  Is it safe to just
cram in a #define TRUE 1 and #define FALSE 0 ? in bgpd.c and
bgp_routemap.c as a work around ?

    ---Mike




More information about the dev mailing list