[Click] Doing some research

Bobby Longpocket bobbylongpocket at yahoo.com
Tue Jan 25 14:24:33 EST 2011


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 <outbackdingo at gmail.com> wrote:

From: Outback Dingo <outbackdingo at gmail.com>
Subject: Re: [Click] Doing some research
To: "Bobby Longpocket" <bobbylongpocket at yahoo.com>
Cc: click at pdos.csail.mit.edu
Date: Tuesday, January 25, 2011, 6:23 AM

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 1make[2]: *** [_module_/home/dingo/click/linuxmodule] Error 2make[2]: Leaving directory `/home/dingo/src/linux-source-2.6.37'
make[1]: *** [all] Error 2make[1]: Leaving directory `/home/dingo/click/linuxmodule'make: *** [linuxmodule] Error 2




      


More information about the click mailing list