On an older, originally Slackware, kernel 2.0 system, I get configure --disable-client make ... make[2]: Leaving directory `/usr/src/routing/bird-1.0.0/obj/proto/static' 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 lib/birdlib.a(io.o): In function `sk_open_unix': /usr/src/routing/bird-1.0.0/obj/lib/io.c:777: undefined reference to `SUN_LEN' make[1]: *** [../bird] Error 1 make[1]: Leaving directory `/usr/src/routing/bird-1.0.0/obj' make: *** [all] Error 2 What is missing here? Thanks for releasing bird, I still haven't determined the 'correct way of thinking' to get gated running smoothly. I like the connection to the advanced routing features in 2.4 kernels too. r
Hello!
On an older, originally Slackware, kernel 2.0 system, I get
configure --disable-client make
... make[2]: Leaving directory `/usr/src/routing/bird-1.0.0/obj/proto/static' 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 lib/birdlib.a(io.o): In function `sk_open_unix': /usr/src/routing/bird-1.0.0/obj/lib/io.c:777: undefined reference to `SUN_LEN' make[1]: *** [../bird] Error 1 make[1]: Leaving directory `/usr/src/routing/bird-1.0.0/obj' make: *** [all] Error 2
What is missing here?
Please try this patch. Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "How do I type 'for i in *.dvi do xdvi $i done' in a GUI?" diff -u -r1.16 client.c --- client/client.c 2000/06/09 07:30:22 1.16 +++ client/client.c 2000/06/16 23:05:13 @@ -22,6 +22,7 @@ #include "lib/resource.h" #include "lib/string.h" #include "client/client.h" +#include "sysdep/unix/unix.h" static char *opt_list = "s:v"; static int verbose; @@ -69,7 +70,7 @@ /*** Input ***/ static void server_send(char *); -static void io_loop(int); +static void select_loop(int); /* HACK: libreadline internals we need to access */ extern int _rl_vis_botlin; @@ -112,7 +113,7 @@ { server_send(cmd); input_hidden = -1; - io_loop(0); + select_loop(0); input_hidden = 0; } free(cmd); @@ -316,7 +317,7 @@ static fd_set select_fds; static void -io_loop(int mode) +select_loop(int mode) { server_reply = -1; while (mode || server_reply < 0) @@ -384,10 +385,10 @@ parse_args(argc, argv); cmd_build_tree(); server_connect(); - io_loop(0); + select_loop(0); input_init(); - io_loop(1); + select_loop(1); return 0; } diff -u -r1.15 unix.h --- sysdep/unix/unix.h 2000/06/09 07:32:57 1.15 +++ sysdep/unix/unix.h 2000/06/16 23:05:14 @@ -34,6 +34,10 @@ typedef struct sockaddr_in sockaddr; #endif +#ifndef SUN_LEN +#define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) + strlen ((ptr)->sun_path)) +#endif + struct birdsock; void io_init(void);
/usr/src/routing/bird-1.0.0/obj/lib/io.c:777: undefined reference to `SUN_LEN' make[1]: *** [../bird] Error 1 make[1]: Leaving directory `/usr/src/routing/bird-1.0.0/obj' make: *** [all] Error 2
What is missing here?
Please try this patch. diff -u -r1.15 unix.h --- sysdep/unix/unix.h 2000/06/09 07:32:57 1.15 +++ sysdep/unix/unix.h 2000/06/16 23:05:14 @@ -34,6 +34,10 @@ typedef struct sockaddr_in sockaddr; #endif +#ifndef SUN_LEN +#define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) + strlen ((ptr)->sun_path)) +#endif + struct birdsock; void io_init(void); Adding the missing (for this OS setup) SUN_LEN def allowed BIRD to be compiled. I now configuring a BIRD pair on 2.0 and 2.2 kernels. Thanks.
participants (2)
-
Martin Mares -
Network Administration