Re: [mpls-linux-devel] mpls-quagga git repo on repo.or.cz
Status: Beta
Brought to you by:
jleu
From: <win...@fr...> - 2010-02-03 18:55:57
|
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... >> > > |