gcc4 does not really support C99 initalizers. It works most of the time but fails for more complex structs. Just fall back to memset() here.
-- :wq Claudio Index: kroute.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/kroute.c,v retrieving revision 1.303 diff -u -p -r1.303 kroute.c --- kroute.c 28 Dec 2022 21:30:16 -0000 1.303 +++ kroute.c 5 Jan 2023 09:55:39 -0000 @@ -2159,10 +2159,12 @@ kroute6_validate(struct kroute6 *kr) int knexthop_true_nexthop(struct ktable *kt, struct kroute_full *kf) { - struct bgpd_addr gateway = { 0 }; + struct bgpd_addr gateway; struct knexthop *kn; struct kroute *kr; struct kroute6 *kr6; + + memset(&gateway, 0, sizeof(gateway)); /* * Ignore the nexthop for VPN routes. The gateway is forced