Re: [mpls-linux-devel] mpls-quagga git repo on repo.or.cz
Status: Beta
Brought to you by:
jleu
From: Renato W. <ren...@gm...> - 2010-02-03 19:17:10
|
@wind.dong: right, commenting line 15 (#define NO_ASSERT_PLEASE) from the file "ldpd/mpls_assert.h" worked for me too. Regarding the mpls drivers, i had success with both mpls-linux and null driver. For the mpls-linux driver i had to edit the configure script as mentioned in my previous email, "quagga-ldp successful build". Things are working better now, but the zebra daemon is still very unstable.I still couldn't test LDP because the zebra daemon freezes very frequently, but at least i can see some LDP_HELLO_MESSAGE's on wireshark =) For debian users who wants debugging zebra/ldpd with gdb, use the "--disable-pie" flag on the configure script, more info on wiki.quagga.net/index.php/Main/TipsNTricks. 2010/2/3 <win...@fr...> > If I comment out '#define NO_ASSERT_PLEASE' in > mpls-ldp-portable/common/mpls_assert.h, and not to > 'extern void mpls_assert(const char* func, const int line, int condition); > #define MPLS_ASSERT(x) mpls_assert(__func__, __LINE__, (int)(x))' > but to use '#define MPLS_ASSERT(x) assert(x)' instead, I could get it > compiled. > > Thanks, > Wind > > > Quoting win...@fr...: > > > Hello James, > > > > I have tried './configure --enable-mpls=null', but meet following errors. > > > > gcc -Os -fno-omit-frame-pointer -g -std=gnu99 -Wall -Wsign-compare > > -Wpointer-arith -Wbad-function-cast -Wwrite-strings > > -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts > > -Wcast-qual -o .libs/ldpd impl_fib.o impl_ifmgr.o impl_lock.o > > impl_mm.o impl_mpls.o impl_policy.o impl_socket.o impl_timer.o > > impl_tree.o ldp_zebra.o ldp_main.o ldp.o ldp_interface.o ldp_vty.o > > ldp_remote_peer.o l2cc_interface.o ldp_addr.o ldp_adj.o ldp_attr.o > > ldp_buf.o ldp_cfg.o ldp_entity.o ldp_fec.o ldp_global.o ldp_hello.o > > ldp_hop.o ldp_hop_list.o ldp_if.o ldp_inet_addr.o ldp_init.o > > ldp_inlabel.o ldp_keepalive.o ldp_label_abort.o ldp_label_mapping.o > > ldp_label_rel_with.o ldp_label_request.o ldp_mesg.o ldp_nortel.o > > ldp_notif.o ldp_outlabel.o ldp_pdu_setup.o ldp_peer.o ldp_resource.o > > ldp_session.o ldp_state_funcs.o ldp_state_machine.o ldp_tunnel.o > > ldp_nexthop.o mpls_compare.o -L/usr/src/mpls-quagga/lib > > /usr/src/mpls-quagga/lib/.libs/libzebra.so -lcrypt -lrt > > impl_lock.o: In function `mpls_lock_release': > > /usr/src/mpls-quagga/ldpd/impl_lock.c:22: undefined reference to > > `mpls_assert' > > impl_lock.o: In function `mpls_lock_get': > > /usr/src/mpls-quagga/ldpd/impl_lock.c:16: undefined reference to > > `mpls_assert' > > impl_mpls.o: In function `mpls_mpls_outsegment_del': > > /usr/src/mpls-quagga/ldpd/impl_mpls.c:115: undefined reference to > > `mpls_assert' > > impl_mpls.o: In function `mpls_mpls_outsegment_add': > > /usr/src/mpls-quagga/ldpd/impl_mpls.c:71: undefined reference to > > `mpls_assert' > > impl_socket.o: In function `mpls_socket_writelist_add': > > /usr/src/mpls-quagga/ldpd/impl_socket.c:469: undefined reference to > > `mpls_assert' > > impl_socket.o:/usr/src/mpls-quagga/ldpd/impl_socket.c:471: more > > undefined references to `mpls_assert' follow > > collect2: ld returned 1 exit status > > make[2]: *** [ldpd] Error 1 > > make[2]: Leaving directory `/usr/src/mpls-quagga/ldpd' > > make[1]: *** [all-recursive] Error 1 > > make[1]: Leaving directory `/usr/src/mpls-quagga' > > make: *** [all] Error 2 > > > > Thanks, > > Wind > > > > > > Quoting James Leu <jl...@mi...>: > > > >> Please look over make-rpm-jleu and you will see that I specify the > 'NULL' > >> mpls driver. Try that first. I will work tonight to fix the > >> 'mpls-linux' mpls driver. > >> > >> On Wed, Feb 03, 2010 at 06:55:38PM +0800, win...@fr... wrote: > >>> Hello James, > >>> > >>> I follow almost all your instruction except last one "./make-rpm-jleu" > >>> for it's debian here not redhat. Instead I use ./bootstrap.sh, then > >>> ./configure and make install. > >>> > >>> There is still some error message as below, > >>> gcc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/usr/local/etc/\" -I. -I.. -I.. > -I.. > >>> -I../lib -Os -fno-omit-frame-pointer -g -std=gnu99 -Wall > >>> -Wsign-compare -Wpointer-arith -Wbad-function-cast -Wwrite-strings > >>> -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts > >>> -Wcast-qual -MT impl_mpls.o -MD -MP -MF .deps/impl_mpls.Tpo -c -o > >>> impl_mpls.o impl_mpls.c > >>> impl_mpls.c: In function ‘mpls_mpls_outsegment_add’: > >>> impl_mpls.c:50: error: storage size of ‘out’ isn’t known > >>> impl_mpls.c:58: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:58: error: (Each undeclared identifier is reported only > once > >>> impl_mpls.c:58: error: for each function it appears in.) > >>> impl_mpls.c:88: warning: implicit declaration of function > >>> ‘zapi_mpls_out_segment_add’ > >>> impl_mpls.c:50: warning: unused variable ‘out’ > >>> impl_mpls.c: In function ‘mpls_mpls_outsegment_del’: > >>> impl_mpls.c:94: error: storage size of ‘out’ isn’t known > >>> impl_mpls.c:102: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:133: warning: implicit declaration of function > >>> ‘zapi_mpls_out_segment_delete’ > >>> impl_mpls.c:94: warning: unused variable ‘out’ > >>> impl_mpls.c: In function ‘mpls_mpls_insegment_add’: > >>> impl_mpls.c:139: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:150: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:153: warning: implicit declaration of function > >>> ‘zapi_mpls_in_segment_add’ > >>> impl_mpls.c:139: warning: unused variable ‘api’ > >>> impl_mpls.c: In function ‘mpls_mpls_insegment_del’: > >>> impl_mpls.c:159: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:165: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:168: warning: implicit declaration of function > >>> ‘zapi_mpls_in_segment_delete’ > >>> impl_mpls.c:159: warning: unused variable ‘api’ > >>> impl_mpls.c: In function ‘mpls_mpls_xconnect_add’: > >>> impl_mpls.c:173: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:189: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:193: warning: implicit declaration of function > >>> ‘zapi_mpls_xc_add’ > >>> impl_mpls.c:173: warning: unused variable ‘api’ > >>> impl_mpls.c: In function ‘mpls_mpls_xconnect_del’: > >>> impl_mpls.c:200: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:214: error: ‘ZEBRA_MPLS_LABEL_GEN’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:218: warning: implicit declaration of function > >>> ‘zapi_mpls_xc_delete’ > >>> impl_mpls.c:200: warning: unused variable ‘api’ > >>> impl_mpls.c: In function ‘mpls_mpls_fec2out_add’: > >>> impl_mpls.c:224: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:239: error: ‘ZEBRA_MPLS_FEC_IPV4’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:245: warning: implicit declaration of function > >>> ‘zapi_mpls_ftn_add’ > >>> impl_mpls.c:224: warning: unused variable ‘api’ > >>> impl_mpls.c: In function ‘mpls_mpls_fec2out_del’: > >>> impl_mpls.c:252: error: storage size of ‘api’ isn’t known > >>> impl_mpls.c:265: error: ‘ZEBRA_MPLS_FEC_IPV4’ undeclared (first use in > >>> this function) > >>> impl_mpls.c:271: warning: implicit declaration of function > >>> ‘zapi_mpls_ftn_delete’ > >>> impl_mpls.c:252: warning: unused variable ‘api’ > >>> make: *** [impl_mpls.o] Error 1 > >>> > >>> It seems that impl_mpls.c can't find definition "zapi_mpls_out_segment" > >>> which lives in mpls-quagga/lib/zclient.h, but in fact there has been > >>> already referred in mpls-quagga/ldpd/impl_mpls. > >>> > >>> Any suggestion? > >>> > >>> Thanks, > >>> Wind > >>> > >>> Quoting James Leu <jl...@mi...>: > >>> > >>>> No need to patch if you are using the git repos: > >>>> > >>>> git clone git://repo.or.cz/mpls-ldp-portable.git > >>>> git clone git://repo.or.cz/mpls-quagga.git > >>>> cd mpls-quagga > >>>> git checkout -b mpls-master --track origin/mpls-master > >>>> cd ldpd > >>>> vi create-links (modify to point to the mpls-ldp-portable source) > >>>> ./create-links > >>>> cd .. > >>>> ./make-rpm-jleu > >>>> > >>>> BTW I pushed a fix for 'check_bit'. Not sure how long it will take > >>>> for repo.or.cz to pick up my change. > >>>> > >>>> On Tue, Jan 26, 2010 at 11:02:49AM +0800, win...@fr...wrote: > >>>>> Hello James, > >>>>> > >>>>> I have tried to compile the new mpls-quagga but still not success. > >>>>> > >>>>> When I try git://repo.or.cz/mpls-quagga.git, I received > >>>>> following error if I > >>>>> patch -p1 < ../mpls-ldp-portable/quagga-mpls.diff > >>>>> patching file lib/memtypes.c > >>>>> Hunk #2 succeeded at 244 (offset 2 lines). > >>>>> Hunk #3 succeeded at 272 (offset 2 lines). > >>>>> can't find file to patch at input line 34953 > >>>>> Perhaps you used the wrong -p or --strip option? > >>>>> The text leading up to this was: > >>>>> -------------------------- > >>>>> |diff -uNr --exclude=.p4config --exclude=make-rpm-jleu > >>>>> --exclude=update-from-kernel.sh quagga/lib/memtypes.h > >>>>> quagga-mpls/lib/memtypes.h > >>>>> |--- quagga/lib/memtypes.h 2007-05-07 09:25:54.000000000 -0500 > >>>>> |+++ quagga-mpls/lib/memtypes.h 2008-02-21 22:43:39.000000000 -0600 > >>>>> -------------------------- > >>>>> File to patch: > >>>>> > >>>>> So I change to use mpls-master snatshot > >>>>> afe0e1617a7fe5adc5aca14642f3d317e96d5246.tar.gz, after make return > >>>>> following error, > >>>>> > >>>>> gcc -fPIE -Os -fno-omit-frame-pointer -g -std=gnu99 -Wall > -Wsign-compare > >>>>> -Wpointer-arith -Wbad-function-cast -Wwrite-strings > -Wmissing-prototypes > >>>>> -Wmissing-declarations -Wchar-subscripts -Wcast-qual -pie -o > .libs/zebra > >>>>> zserv.o main.o interface.o connected.o zebra_rib.o zebra_routemap.o > >>>>> redistribute.o debug.o rtadv.o zebra_snmp.o zebra_vty.o irdp_main.o > >>>>> irdp_interface.o irdp_packet.o router-id.o if_vlan.o if_tunnel.o > >>>>> mpls_vty.o mpls_lib.o ioctl.o ipforward_proc.o if_netlink.o netlink.o > >>>>> rt_netlink.o rtread_netlink.o ../lib/.libs/libzebra.so -lcrypt -lrt > >>>>> ../lib/.libs/libzebra.so: undefined reference to `check_bit' > >>>>> collect2: ld returned 1 exit status > >>>>> make[2]: *** [zebra] Error 1 > >>>>> make[2]: Leaving directory `/usr/src/mpls-quagga/zebra' > >>>>> make[1]: *** [all-recursive] Error 1 > >>>>> make[1]: Leaving directory `/usr/src/mpls-quagga' > >>>>> make: *** [all] Error 2 > >>>>> > >>>>> Any suggestion? > >>>>> > >>>>> Thanks, > >>>>> Wind > >>>>> > >>>>> > >>>>> Quoting James Leu <jl...@mi...>: > >>>>> > >>>>>> Hello all, > >>>>>> > >>>>>> I've rebuilt the mpls-quagga mirror on repo.or.cz. If you > >>>>>> have a clone of that repo you will want to delete it and > >>>>>> get a new one. > >>>>>> > >>>>>> git://repo.or.cz/mpls-quagga.git > >>>>>> > >>>>>> Thier as many branches in that repo. The ones that matter: > >>>>>> > >>>>>> jleu-master -> what I consider HEAD of line quagga > >>>>>> netlink-master -> my netlink changes on top of jleu-master > >>>>>> nexthop-master -> my nexthop changes on top of jleu-master > >>>>>> plus-master -> merger of netlink-master and nexthop-master plus > >>>>>> extra bits > >>>>>> mpls-master -> MPLS related changes on top of plus-master > >>>>>> > >>>>>> > >>>>>> -- > >>>>>> James R. Leu > >>>>>> jl...@mi... > >>>>>> > >>>>> > >>>> > >>>> -- > >>>> James R. Leu > >>>> jl...@mi... > >>>> > >>> > >> > >> -- > >> James R. Leu > >> jl...@mi... > >> > > > > > > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the > business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > |