[Click] Doing some research

Outback Dingo outbackdingo at gmail.com
Tue Jan 25 09:23:33 EST 2011


On Tue, Jan 25, 2011 at 1:33 AM, Bobby Longpocket <bobbylongpocket at yahoo.com
> 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


More information about the click mailing list