Make bird 1.3.2 failed

Ruben Laban r.laban+lists at ism.nl
Wed Oct 26 15:30:38 CEST 2011


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 at 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



More information about the Bird-users mailing list