Hi, I am successfully using bird for OSPFv2 and OSPFv3 in a mixed network of FreeBSD, OpenBSD and Linux. Yesterday I wanted to add a Synology DS212+ to the network but it fails to compile. It seems to be some bison language issue. Maybe someone can help? Thanks in advance. Best regards, Michael DiskStation> make clean; ./configure --sysconfdir /etc --localstatedir /var/run --prefix=/usr/local --exec-prefix=/usr/local make -C obj clean make[1]: Entering directory `/usr/local/src/bird-1.4.0/obj' find . -name "*.[oa]" -o -name core -o -name depend -o -name "*.html" | xargs rm -f rm -f conf/cf-lex.c conf/cf-parse.* conf/commands.h conf/keywords.h rm -f ../bird ../birdcl ../birdc ../bird.ctl ../bird6.ctl .dep-stamp make[1]: Leaving directory `/usr/local/src/bird-1.4.0/obj' find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core -or -name depend -or -name ".#*" | xargs rm -f checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for library containing clock_gettime... no checking build system type... armv5tel-unknown-linux-gnueabi checking host system type... armv5tel-unknown-linux-gnueabi checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether POSIX threads are available... no checking whether CC supports -Wno-pointer-sign... yes checking whether CC supports -fno-strict-aliasing... yes checking whether CC supports -fno-strict-overflow... yes checking CFLAGS... -g -O2 -Wall -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -fno-strict-aliasing -fno-strict-overflow checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... tools/install-sh -c checking for ranlib... ranlib checking for flex... flex checking for bison... bison checking for gm4... no checking for m4... m4 checking which OS configuration should we use... ./sysdep/cf/linux.h checking system-dependent directories... sysdep/linux sysdep/unix lib checking protocols... ok checking for linux/rtnetlink.h... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking whether 'struct sockaddr' has sa_len... no checking whether byte ordering is bigendian... no checking size of char... 1 checking size of short int... 2 checking size of int... 4 checking size of long int... 4 checking size of long long int... 8 checking for 8-bit type... char checking for 16-bit type... short int checking for 32-bit type... int checking for 64-bit type... long long int checking usual alignment of structures... 8 checking characteristics of time_t... 32-bit signed checking for struct ip_mreqn... yes checking for add_history in -lhistory... yes checking for tgetent in -lncurses... yes checking for rl_callback_read_char in -lreadline... yes checking for rl_crlf in -lreadline... yes checking for rl_ding in -lreadline... yes configure: creating ./config.status config.status: creating Makefile config.status: creating obj/Makefile config.status: creating obj/Rules config.status: creating obj/sysdep/autoconf.h config.status: obj/sysdep/autoconf.h is unchanged config.status: executing merge commands Merging system-dependent modules (sysdep/linux sysdep/unix lib) BIRD was configured with the following options: Source directory: . Object directory: obj Iproute2 directory: /etc/iproute2 System configuration: ./sysdep/cf/linux.h Debugging: no POSIX threads: no Routing protocols: bgp ospf pipe rip static Client: yes DiskStation> make make -C obj all make[1]: Entering directory `/usr/local/src/bird-1.4.0/obj' echo >sysdep/paths.h "/* Generated by Makefile, don't edit manually! */" echo >>sysdep/paths.h "#define PATH_CONFIG_FILE \"/etc/bird.conf\"" echo >>sysdep/paths.h "#define PATH_CONTROL_SOCKET \"/var/run/run/bird.ctl\"" if test -n "/etc/iproute2" ; then echo >>sysdep/paths.h "#define PATH_IPROUTE_DIR \"/etc/iproute2\"" ; fi make depend make[2]: Entering directory `/usr/local/src/bird-1.4.0/obj' mkdir -p nest filter proto/bgp proto/ospf proto/pipe proto/rip proto/static client doc touch .dir-stamp set -e ; for a in lib conf ; do make -C $a depend ; done make[3]: Entering directory `/usr/local/src/bird-1.4.0/obj/lib' gcc -I../ -I../.. -MM bitops.c checksum.c event.c io.c ip.c ipv4.c krt.c lists.c log.c main.c md5.c mempool.c netlink.c patmatch.c printf.c random.c resource.c slab.c slists.c xmalloc.c >depend make[3]: Leaving directory `/usr/local/src/bird-1.4.0/obj/lib' make[3]: Entering directory `/usr/local/src/bird-1.4.0/obj/conf' m4 -P ../../conf/gen_keywords.m4 ../../conf/confbase.Y ../../sysdep/unix/config.Y ../../sysdep/unix/krt.Y ../../sysdep/linux/netlink.Y ../../nest/config.Y ../../filter/config.Y ../../proto/bgp/config.Y ../../proto/ospf/config.Y ../../proto/pipe/config.Y ../../proto/rip/config.Y ../../proto/static/config.Y >keywords.h m4 -P ../../conf/gen_commands.m4 ../../client/cmds.m4 ../../conf/confbase.Y ../../sysdep/unix/config.Y ../../sysdep/unix/krt.Y ../../sysdep/linux/netlink.Y ../../nest/config.Y ../../filter/config.Y ../../proto/bgp/config.Y ../../proto/ospf/config.Y ../../proto/pipe/config.Y ../../proto/rip/config.Y ../../proto/static/config.Y | sort >commands.h m4 -P ../../conf/gen_parser.m4 ../../conf/confbase.Y ../../sysdep/unix/config.Y ../../sysdep/unix/krt.Y ../../sysdep/linux/netlink.Y ../../nest/config.Y ../../filter/config.Y ../../proto/bgp/config.Y ../../proto/ospf/config.Y ../../proto/pipe/config.Y ../../proto/rip/config.Y ../../proto/static/config.Y >cf-parse.y bison -bcf-parse -dv -pcf_ cf-parse.y cf-parse.y: warning: 1 nonterminal useless in grammar cf-parse.y: warning: 3 rules useless in grammar cf-parse.y:521.13-19: warning: nonterminal useless in grammar: expr_us cf-parse.y:692.4-39: warning: rule useless in grammar: expr_us: expr S cf-parse.y:693.4-36: warning: rule useless in grammar: expr_us: expr MS cf-parse.y:694.4-33: warning: rule useless in grammar: expr_us: expr US make[3]: *** [cf-parse.tab.c] Broken pipe make[3]: Leaving directory `/usr/local/src/bird-1.4.0/obj/conf' make[2]: *** [depend] Error 2 make[2]: Leaving directory `/usr/local/src/bird-1.4.0/obj' make[1]: *** [.dep-stamp] Error 2 make[1]: Leaving directory `/usr/local/src/bird-1.4.0/obj' make: *** [all] Error 2 DiskStation> cd obj/conf/ DiskStation> bison -bcf-parse -dv -pcf_ cf-parse.y cf-parse.y: warning: 1 nonterminal useless in grammar cf-parse.y: warning: 3 rules useless in grammar cf-parse.y:521.13-19: warning: nonterminal useless in grammar: expr_us cf-parse.y:692.4-39: warning: rule useless in grammar: expr_us: expr S cf-parse.y:693.4-36: warning: rule useless in grammar: expr_us: expr MS cf-parse.y:694.4-33: warning: rule useless in grammar: expr_us: expr US DiskStation> cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1985.74 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Synology 6282 board Revision : 0000 Serial : 0000000000000000 DiskStation> gcc -v Using built-in specs. Target: arm-none-linux-gnueabi Configured with: ../gcc-4.2/configure --build=i386-pc-linux-gnu --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --prefix=/opt --disable-nls --disable-static --with-as=/home/slug/optware/cs08q1armel/toolchain/arm-2008q1/bin/arm-none-linux-gnueabi-as --with-ld=/home/slug/optware/cs08q1armel/toolchain/arm-2008q1/bin/arm-none-linux-gnueabi-ld --enable-languages=c,c++ --disable-multilib --enable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --enable-shared --enable-symvers=gnu --enable-__cxa_atexit Thread model: posix gcc version 4.2.3 DiskStation> bison -V bison (GNU Bison) 2.5.1 Written by Robert Corbett and Richard Stallman. Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. DiskStation> make -v GNU Make 3.82 Built for arm-none-linux-gnueabi Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.