This is a more significant problem that I think will require serious effort to solve. The Ethernet bridging hooks used by Click patchless have been removed in 2.6.37. I am not sure what alternative we have.
Eddie On 01/25/2011 11:37 AM, Outback Dingo wrote: > until > > CXX [M] anydevice.o > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc: In > member function ‘void AnyDevice::alter_from_device(int)’: > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:121:61: > error: ‘struct net_device’ has no member named ‘br_port’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: ‘struct net_device’ has no member named ‘br_port’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: invalid type argument of unary ‘*’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: invalid type argument of unary ‘*’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: invalid type argument of unary ‘*’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: expected primary-expression before ‘typeof’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:129:2: > error: expected ‘)’ before ‘typeof’ > /home/dingo/click/linuxmodule/../elements/linuxmodule/anydevice.cc:136:2: > error: ‘struct net_device’ has no member named ‘br_port’ > make[3]: *** [/home/dingo/click/linuxmodule/anydevice.o] Error 1 > make[2]: *** [_module_/home/dingo/click/linuxmodule] Error 2 > > > On Tue, Jan 25, 2011 at 2:37 PM, Outback Dingo<[email protected]>wrote: > >> Wow scary you were right.... progressing on >> >> >> On Tue, Jan 25, 2011 at 2:24 PM, Bobby Longpocket< >> [email protected]> wrote: >> >>> Maybe you ran configure --fix-includes again after you made the change? >>> The file that you are modifying is the result of running configure, so your >>> changes will get clobbered if you run configure again. Check your file >>> again to verify that lines 150 and 176 include the int pointer casts. >>> >>> >>> --- On *Tue, 1/25/11, Outback Dingo<[email protected]>* wrote: >>> >>> >>> From: Outback Dingo<[email protected]> >>> Subject: Re: [Click] Doing some research >>> To: "Bobby Longpocket"<[email protected]> >>> Cc: [email protected] >>> Date: Tuesday, January 25, 2011, 6:23 AM >>> >>> >>> On Tue, Jan 25, 2011 at 1:33 AM, Bobby Longpocket< >>> [email protected]<http://mc/[email protected]> >>>> wrote: >>> >>> Dingo: >>> >>> Click patchless has a problem with 2.6.37. In radix-tree.h there's a call >>> to a macro that ends up trying to dereference a void*. The C++ compiler >>> doesn't like this. You can apply the following changes to >>> click/include/click-linuxmodule/include1/linux/radix-tree.h to make more >>> progress with your compilation: >>> >>> 150c150 >>> < return rcu_dereference(*pslot); >>> --- >>>> return (void *)rcu_dereference(*(int **)pslot); >>> 176c176 >>> < rcu_assign_pointer(*pslot, item); >>> --- >>>> rcu_assign_pointer(*(int **)pslot, (int *)item); >>> >>> >>> ok applied the reference patch to click and now.... still no joy >>> >>> >>> >>> In file included from >>> /home/dingo/click/include/click-linuxmodule/include1/linux/fs.h:392:0, >>> from /home/dingo/click/linuxmodule/../lib/ino.cc:30: >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h: >>> In function ‘void* radix_tree_deref_slot(void**)’: >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: invalid type in declaration before ‘=’ token >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: expected primary-expression before ‘typeof’ >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: expected ‘)’ before ‘typeof’ >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: expected primary-expression before ‘typeof’ >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: expected ‘)’ before ‘typeof’ >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9: >>> error: expected ‘)’ before ‘;’ token >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h: >>> In function ‘void radix_tree_replace_slot(void**, void*)’: >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:176:2: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:176:2: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:176:2: >>> error: ‘void*’ is not a pointer-to-object type >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:176:2: >>> error: expected primary-expression before ‘typeof’ >>> /home/dingo/click/include/click-linuxmodule/include1/linux/radix-tree.h:176:2: >>> error: expected ‘)’ before ‘typeof’ >>> make[3]: *** [/home/dingo/click/linuxmodule/ino.o] Error 1 >>> make[2]: *** [_module_/home/dingo/click/linuxmodule] Error 2 >>> make[2]: Leaving directory `/home/dingo/src/linux-source-2.6.37' >>> make[1]: *** [all] Error 2 >>> make[1]: Leaving directory `/home/dingo/click/linuxmodule' >>> make: *** [linuxmodule] Error 2 >>> >>> >>> >> > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
