Compile error on ARM/Synology DS212+

Michael belenus at bsdmail.de
Tue Feb 11 11:30:09 CET 2014


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.




More information about the Bird-users mailing list