On Thursday 04 August 2011 at 16:20 (CET), Ruben Laban wrote:
On Wednesday 27 July 2011 at 08:12 (CET), Alexander V. Pen'kov wrote:
On Tue, Jul 26, 2011 at 02:14:00PM +0400, Alexander V. Pen'kov wrote:
Good day! I have Centos 5.6 with all lastest updates(exec yum update). And i would like to install bird 1.3.2(bird 1.3.1 installed successfuly) but when i execute "make" it not successfuly done with result: make[2]: Leaving directory `/usr/src/bird-1.3.2/obj/client' gcc -o ../bird nest/all.o filter/all.o proto/bgp/all.o proto/ospf/all.o proto/pipe/all.o proto/rip/all.o proto/static/all.o conf/all.o lib/birdlib.a -lrt lib/birdlib.a(main.o): In function `drop_uid': /usr/src/bird-1.3.2/obj/lib/../lib/syspriv.h:49: undefined reference to `CAP_TO_MASK' /usr/src/bird-1.3.2/obj/lib/../lib/syspriv.h:49: undefined reference to `CAP_TO_MASK' /usr/src/bird-1.3.2/obj/lib/../lib/syspriv.h:49: undefined reference to `CAP_TO_MASK' /usr/src/bird-1.3.2/obj/lib/../lib/syspriv.h:49: undefined reference to `CAP_TO_MASK' collect2: ld returned 1 exit status make[1]: *** [../bird] Error 1 make[1]: Leaving directory `/usr/src/bird-1.3.2/obj' make: *** [all] Error 2
What is this problem?
This is strange, CAP_TO_MASK macro should be defined in /usr/include/linux/capability.h , do you have that file?
Yes i have [root@ltest ~]# ll /usr/include/linux/capability.h -rw-r--r-- 1 root root 8183 Jul 15 15:25 /usr/include/linux/capability.h
I'm seeing the same on really old SLES9 boxes. Slightly less older Ubuntu 8.04 boxes are affected too. Ubuntu 10.04 are not affected.
I guess my legacy SLES9 boxes will be stuck at 1.3.1 for a while. Just tried to compile 1.3.2, 1.3.3 and 1.3.4. All failed similar to this: # make make -C obj all make[1]: Entering directory `/root/bird-1.3.4/obj' make depend make[2]: Entering directory `/root/bird-1.3.4/obj' set -e ; for a in lib conf ; do make -C $a depend ; done make[3]: Entering directory `/root/bird-1.3.4/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 `/root/bird-1.3.4/obj/lib' make[3]: Entering directory `/root/bird-1.3.4/obj/conf' m4 -P ../../conf/gen_keywords.m4 ../../conf/confbase.Y ../../sysdep/unix/config.Y ../../sysdep/unix/krt.Y ../../sysdep/linux/netlink/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/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/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:1652.2: syntax error, unexpected "|" cf-parse.y:1652.67-68: invalid $ value cf-parse.y:1652.67-68: $6 of `constructor' has no declared type make[3]: *** [cf-parse.tab.c] Error 1 make[3]: Leaving directory `/root/bird-1.3.4/obj/conf' make[2]: *** [depend] Error 2 make[2]: Leaving directory `/root/bird-1.3.4/obj' make[1]: *** [.dep-stamp] Error 2 make[1]: Leaving directory `/root/bird-1.3.4/obj' make: *** [all] Error 2
I'm guessing it's due to an ancient bison (1.875) on these boxes? Gotta love them legacay cruft :-/ Regards, Ruben Laban