lkml.org 
[lkml]   [1998]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: ARRGHH !!! Gated is broken again in 2.1.131 ...

Hello Alexey,

On Fri, 25 Dec 1998 kuznet@ms2.inr.ac.ru wrote:
> Hello!
> OK, I took into account your troubles and did new diff.
> As I understand it is invariant wrt libc now.
thank you...

> Seems, I forgot to tell about some rules of src/obj/Config customization:
>
> - configuring gii implies that -lcrypt is added to ldoptions or
> that crypt sits in libc.
> - also configuring gii implies that RIB_HASH option is set.
> Actually, I am not sure that RIB_RADIX options works at all.
> - NO_ANK_FIX must NOT be defined.
> - with normal libc5 -lresolv option should be removed.
> Seems, for now it is all.
> Alexey

- Thank you, for updating the README.gated also.

- Patch applies cleanly ;-) .

- I went thru & modified my Config file to be -simular- to yours .
This Config I have been using since 3.6.a2 when Stephen Davies
put together the first patchs to get gated to compile on linux .
I'll include both my old config & new in the patch I attached
for your perusal , I'm quite curious as to the differances
between the two . Instead of using 'ldothers' I have used the
'ldflags' instead , I am going thru the area's in the Makefile
where the two 'ld*' are used & not . I didn't find anything
major for using 'ldflags' or 'ldothers' .

- Also it seems that the Slackware-3.6 distro. doesn't need the
'-lcrypt' , it appears to be in the libc . This may well
depend on which 'cc' a person uses though .

- It appears that you have added '-lreadline' to ospf_monitor at
ld-time & at install-time ? Not everyone has this package .
my patch attempts a way around the need for this package that is
reasonable for all, I hope ? I am going to try placing a
'make config' time option in the Makefile.template file for this
option and turn it on & off to see what happens . Also for
'-ltermcap' used same place . They are a 'Config' file option .

- I'm attaching this patch against yours. this get's me a
compilable source .

- I'm testing what I've got, right now . Also I found that
'gdc checkconf' produces an unexpected output that makes
'gdc' think there may be a possible error . See included
gated_parse below .
Ttys, JimL
+-----------------------------------------------------------------------+
| James W. Laferriere - Network Engineer - babydr@baby-dragons.com |
| System Techniques - 25416 - 22nd S. - Des-Moines, WA 98198 |
| Give me VMS -or- Give me Linux -but- only on AXP |
+-----------------------------------------------------------------------+

- gated_parse
krt_recv_if: add 127.0.0.1/8 local 127.0.0.1 dev lo
krt_recv_if: add 199.33.245.238/24 local 199.33.245.238 dev eth0
diff -ruN gated-3-5-10-ank/src/Ank-style-gated-bld.Config gated-3-5-10-ank+jiml/src/Ank-style-gated-bld.Config
--- gated-3-5-10-ank/src/Ank-style-gated-bld.Config Wed Dec 31 16:00:00 1969
+++ gated-3-5-10-ank+jiml/src/Ank-style-gated-bld.Config Fri Dec 25 19:04:59 1998
@@ -0,0 +1,93 @@
+#
+# MY (JimL) Configuration file for Linux 2.0.x systems
+# babydr@nwrain.net,babydr@filesrv1.baby-dragons.com
+#
+# set path_unix to the location of vmlinux on your system
+
+path_unix /usr/src/linux/vmlinux
+
+#signal_h /usr/include/signal.h
+
+#
+# set path_pid to the location of `name`.pid file to your preference.
+path_pid /var/run/%s.pid
+
+#
+# set path_version to the location of `name`.version file to your preference.
+path_version /var/run/%s.version
+
+#
+# Other options which can be set to your preference ( just make sure
+# they exist )
+path_dumpdir /var/gated
+path_dump /var/gated/%s_dump
+path_config /etc/%s.conf
+
+# This is the directory for binaries. gdc ripquery ospf_monitor ...
+bindir /sbin
+
+# This is the directory for gated binary.
+sbindir /sbin
+
+## set mkdep to mkdep
+mkdep mkdep -flag -M
+
+# set your favourite protocol set. NOTE: gii is required if you want
+# to be able to use the Gated Interactive Interface
+#
+
+protocols bgp icmp ospf rip rdisc gii
+#hello
+#protocols bgp egp hello icmp rip ospf rdisc gii
+# isode_snmp
+#protocols bgp hello icmp ospf rip gii # for R3_6Alpha_2
+#protocols icmp rip gii
+
+# ospf_monitor options needed for Linux
+#ospfm_readline -lreadline
+ospfm_termcap -ltermcap
+
+# Which incarntation of lex to use, IE: flex for all linux distr.s
+lex flex
+lflags -p -s -C -I
+
+# Which incarntation of yacc to use, IE: yacc,bison,.. for all linux distr.s
+yacc bison
+yflags -d -y -v
+
+# List libraries required for your environment
+ldflags -ldb
+#ldflags -ldb -lcrypt
+
+# If and only if you get the error mentioned at bottom of configs/README.Linux
+#ldflags -ldb -lresolv -lcrypt
+
+# Options to include
+options RIB_HASH
+options NO_MBUF_H
+options INCLUDE_UNISTD
+options INCLUDE_TYPES
+
+options INCLUDE_PATHS
+options USE_SETPGRP
+options HAVE_DIRENT
+options GID_T=gid_t
+options POSIX_SIGNALS
+options NEED_SIGNAME
+options HAVE_SYS_SIGLIST
+options HAVE_WAITPID
+#options KRT_RTREAD_PROC
+#options KRT_LLADDR_LINUX
+options ROUTES_WO_MBUFS
+#options KRT_IFREAD_IOCTL
+#options KRT_RT_IOCTL
+#options PROTO_ICMP
+options KRT_NETLINK2
+options KRT_SYMBOLS_PROC
+options KRT_SOCKET_TYPE=AF_NETLINK,SOCK_RAW,0
+#options KRT_SOCKET_TYPE=PF_INET,SOCK_DGRAM,AF_UNSPEC
+options KVM_TYPE_NONE
+options VARIABLE_MASKS
+options KRT_IPMULTI_TTL0
+options SHADOW_PASSWD
+options tzsetwall()={unsetenv("TZ");tzset();}
diff -ruN gated-3-5-10-ank/src/jiml-gated-bld.Config gated-3-5-10-ank+jiml/src/jiml-gated-bld.Config
--- gated-3-5-10-ank/src/jiml-gated-bld.Config Wed Dec 31 16:00:00 1969
+++ gated-3-5-10-ank+jiml/src/jiml-gated-bld.Config Fri Dec 25 19:06:25 1998
@@ -0,0 +1,81 @@
+#
+# MY (JimL) Configuration file for Linux 2.0.x systems
+# babydr@nwrain.net,babydr@filesrv1.baby-dragons.com
+#
+# set path_unix to the location of vmlinux on your system
+
+path_unix /usr/src/linux/vmlinux
+
+signal_h /usr/include/signal.h
+
+#
+# set path_pid to the location of `name`.pid file to your preference.
+path_pid /var/run/%s.pid
+
+#
+# set path_version to the location of `name`.version file to your preference.
+path_version /var/run/%s.version
+
+#
+# Other options which can be set to your preference ( just make sure
+# they exist )
+path_dumpdir /var/gated
+path_dump /var/gated/%s_dump
+path_config /etc/%s.conf
+
+# This is the directory for binaries. gdc ripquery ospf_monitor ...
+bindir /sbin
+
+# This is the directory for gated binary.
+sbindir /sbin
+
+## set mkdep to mkdep
+#mkdep mkdep
+
+# set your favourite protocol set. NOTE: gii is required if you want
+# to be able to use the Gated Interactive Interface
+#
+
+protocols bgp icmp ospf rip egp rdisc
+#hello
+#protocols bgp egp hello icmp rip ospf rdisc gii
+# isode_snmp
+#protocols bgp hello icmp ospf rip gii # for R3_6Alpha_2
+#protocols icmp rip gii
+
+# Which incantation of lex to use, IE: flex for all linux distr.s
+lex flex
+
+# Lex flags needed to get Linux compatible with standard lex.
+# lflags -l
+
+# List libraries required for your environment
+ldflags -ldb
+
+# If and only if you get the error mentioned at bottom of configs/README.Linux
+#ldflags -ldb -lresolv
+
+options NO_MBUF_H
+options INCLUDE_UNISTD
+options INCLUDE_TYPES
+
+options INCLUDE_PATHS
+options USE_SETPGRP
+options HAVE_DIRENT
+options GID_T=int
+options POSIX_SIGNALS
+options NEED_SIGNAME
+options HAVE_WAITPID
+options KRT_RTREAD_PROC
+options KRT_LLADDR_LINUX
+options ROUTES_WO_MBUFS
+options KRT_IFREAD_IOCTL
+options KRT_RT_IOCTL
+options PROTO_ICMP
+options KRT_SYMBOLS_PROC
+options KRT_SOCKET_TYPE=PF_INET,SOCK_DGRAM,AF_UNSPEC
+options KVM_TYPE_NONE
+options VARIABLE_MASKS
+options KRT_IPMULTI_TTL0
+options SHADOW_PASSWD
+options tzsetwall()={unsetenv("TZ");tzset();}
diff -ruN gated-3-5-10-ank/src/ospf_monitor.c gated-3-5-10-ank+jiml/src/ospf_monitor.c
--- gated-3-5-10-ank/src/ospf_monitor.c Fri Dec 25 18:56:02 1998
+++ gated-3-5-10-ank+jiml/src/ospf_monitor.c Fri Dec 25 18:11:07 1998
@@ -687,7 +687,7 @@
bzero(dest_st, 30);
bzero(req_st, 200);

-#ifdef NO_ANK_FIX
+#if defined(NO_ANK_FIX) || !defined(OSPFM_READLINE)
if (!(str = fgets(buf[bufndx], 200, stdin))) {
exit(1);
}
diff -ruN gated-3-5-10-ank/src/util/Makefile.template gated-3-5-10-ank+jiml/src/util/Makefile.template
--- gated-3-5-10-ank/src/util/Makefile.template Fri Dec 25 18:56:04 1998
+++ gated-3-5-10-ank+jiml/src/util/Makefile.template Fri Dec 25 18:11:07 1998
@@ -135,6 +135,8 @@
# Stuff for ospf_monitor
OSPFM_MODE=@(OSPFM_MODE)
OSPFM_USER=@(OSPFM_USER)
+OSPFM_READLINE=@(OSPFM_READLINE)
+OSPFM_TERMCAP=@(OSPFM_TERMCAP)

@BEGIN: PROTO_ISODE_SNMP
ISODE_SNMP_INCLUDE=@(ISODE_SNMP_INCLUDE)
@@ -432,7 +434,7 @@
#
#
${OSPF_MONITOR}: ${O_OBJS} ${LIBGATED}
- ${CC} ${CFLAGS} ${CWFLAGS} ${IFLAGS} ${O_OBJS} -o ${OSPF_MONITOR} ${LDFLAGS} ${LIBGATED} ${LDOTHERS} -lreadline -ltermcap \
+ ${CC} ${CFLAGS} ${CWFLAGS} ${IFLAGS} ${O_OBJS} -o ${OSPF_MONITOR} ${LDFLAGS} ${LIBGATED} ${LDOTHERS} ${OSPFM_READLINE} ${OSPFM_TERMCAP} \
&& ${SIZE} ${OSPF_MONITOR}

all:: ${OSPF_MONITOR}
@@ -451,7 +453,7 @@
MANDIR=${MANDIR} ./inst-man -${MANTYPE} ${O_MANS}

${DESTDIR}${BINDIR}/${OSPF_MONITOR}: ${OSPF_MONITOR}
- ${INSTALL} ${INSTALLFLAGS} -o ${OSPFM_USER} -m ${OSPFM_MODE} ${OSPF_MONITOR} ${DESTDIR}${BINDIR}/${OSPF_MONITOR} -lreadline
+ ${INSTALL} ${INSTALLFLAGS} -o ${OSPFM_USER} -m ${OSPFM_MODE} ${OSPF_MONITOR} ${DESTDIR}${BINDIR}/${OSPF_MONITOR} ${OSPFM_READLINE}

@END: PROTO_OSPF

diff -ruN gated-3-5-10-ank/src/util/config.awk gated-3-5-10-ank+jiml/src/util/config.awk
--- gated-3-5-10-ank/src/util/config.awk Fri Dec 25 18:56:04 1998
+++ gated-3-5-10-ank+jiml/src/util/config.awk Fri Dec 25 18:11:07 1998
@@ -104,8 +104,8 @@
VARS = VARS " GDC_MODE GDC_GROUP GDC_USER CONFIG_MODE" ;

# Stuff used by ospf_monitor
- vars = vars " ospfm_mode ospfm_user" ;
- VARS = VARS " OSPFM_MODE OSPFM_USER" ;
+ vars = vars " ospfm_mode ospfm_user ospfm_readline ospfm_termcap" ;
+ VARS = VARS " OSPFM_MODE OSPFM_USER OSPFM_READLINE OSPFM_TERMCAP" ;

# Program names
vars = vars " gated gdc ripquery ospf_monitor" ;
@@ -185,6 +185,8 @@
# Stuff for ospf_monitor
value["ospfm_mode"] = "4755" ;
value["ospfm_user"] = "root" ;
+ value["ospfm_readline"] = "" ;
+ value["ospfm_termcap"] = "" ;

# Options
options["ENVIRON"] = "environ";
\
 
 \ /
  Last update: 2005-03-22 13:46    [W:2.112 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site