[Click] Error compiling my package in Click for kernel level

Harkeerat Bedi hsbedi at memphis.edu
Thu Feb 2 02:08:58 EST 2012


Hello Eddie,

I was able to edit my code appropriately so that I only use the Click
header files. Now my package compiles and installs successfully. I am able
to run my package in user-level.

However, when I try to run it in kernel mode using click-install, I get the
following error:

hsbedi at ubuntu:/mnt/hgfs/sharedFolderWithUbuntu/myelementpackage_temp_6.1$
sudo /usr/local/click/sbin/click-install testdevice3.eth0.click
insmod: error inserting '/usr/local/click/lib/myelementpackage.ko': -1
Unknown symbol in module
click-install: '/sbin/insmod /usr/local/click/lib/myelementpackage.ko'
failed

Following is my dmesg output:

[ 1239.166964] click: starting router thread pid 4867 (f424e480)
[ 1239.167742] myelementpackage: Unknown symbol __eqdf2
[ 1239.168086] myelementpackage: Unknown symbol __gtdf2
[ 1239.168215] myelementpackage: Unknown symbol __floatsidf
[ 1239.168343] myelementpackage: Unknown symbol __ltdf2
[ 1239.168773] myelementpackage: Unknown symbol __dso_handle
[ 1239.169200] myelementpackage: Unknown symbol __adddf3
[ 1239.169425] myelementpackage: Unknown symbol __floatunsidf
[ 1239.170268] myelementpackage: Unknown symbol __ledf2
[ 1239.171194] myelementpackage: Unknown symbol __cxa_atexit
[ 1239.171486] myelementpackage: Unknown symbol __divdf3
[ 1239.171645] myelementpackage: Unknown symbol __muldf3
[ 1239.173848] myelementpackage: Unknown symbol __gedf2
[ 1239.173976] myelementpackage: Unknown symbol __subdf3
[ 1337.056771] click: stopping router thread pid 4867
[ 1337.056791] click module exiting

I came across a similar thread (
https://pdos.csail.mit.edu/pipermail/click/2011-October/010345.html), where
it was suggested that the use of static member variables may cause this.

My package contains some C++ files which do not contain an element. These
files hold C++ classes which have some static member
variables (non-primitive types).

Can you kindly help me with this issue? Thank you in advance.

Regards,
Harkeerat Bedi
University of Memphis


On Wed, Feb 1, 2012 at 3:28 PM, Harkeerat Bedi <hsbedi at memphis.edu> wrote:

> Thank you Eddie for your feedback. I will try to find the alternatives of
> the user-level header files I am using and work through them.
>
> Regards,
> Harkeerat Bedi
> University of Memphis
>
>
> On Tue, Jan 31, 2012 at 8:11 AM, Eddie Kohler <ekohler at gmail.com> wrote:
>
>> Harkeerat,
>>
>> Your btree.cc file is #includeing <pthread.h>. That header file, and
>> pthreads more generally, only work at user level. You will not be able to
>> use this element in the kernel.
>>
>> If you want to run your element in the kernel, make sure that it depends
>> ONLY on Click header files, like <click/glue.hh>, and not on other
>> user-level header files.
>>
>> Eddie
>>
>>
>> On 1/31/12 2:50 AM, Harkeerat Bedi wrote:
>>
>>> Hello all,
>>>
>>> I have Click version 2.0.1 from git-hub installed (both user level and
>>> patchless kernel level) on an Ubuntu 10.04 LTS system. My kernel is
>>> 2.6.32-38-generic (i686) and gcc version is 4.4.3 (Ubuntu
>>> 4.4.3-4ubuntu5).
>>>
>>> I am trying to compile and install my package for kernel level and am not
>>> able to do so. In my package directory, I run autoconf, and ./configure
>>> --prefix="path to my click installation directory".
>>>
>>> When I execute "make install", it aborts with the following errors
>>> (pasted
>>> below this email).
>>>
>>> On a side note, my package compiles and runs fine on a system which has
>>> only user level Click installed.
>>>
>>> Can someone kindly help? Thank you in advance.
>>>
>>> Regards,
>>> Harkeerat Bedi
>>> University of Memphis
>>>
>>> ------------------------------**----
>>> Output of "make install":
>>> ------------------------------**----
>>>
>>> make -R CLICK_PACKAGE_MAKING=userlevel myelementpackage.uo
>>> make[1]: Entering directory
>>> `/mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6'
>>> make[1]: `myelementpackage.uo' is up to date.
>>> make[1]: Leaving directory
>>> `/mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6'
>>> make -R CLICK_PACKAGE_MAKING=**linuxmodule myelementpackage.ko
>>> make[1]: Entering directory
>>> `/mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6'
>>> { ( make -C /lib/modules/2.6.32-38-**generic/build
>>> M=/mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6
>>>  CLICK_PACKAGE_MAKING=**linuxmodule-26 modules 2>&1 1>&3; echo $?>
>>> .myelementpackage.ko.status ) | grep -iv '^[\* ]*Warning:.*undefined'
>>> 1>&2;
>>> } 3>&1; v=`cat .myelementpackage.ko.status`; rm
>>> .myelementpackage.ko.status; exit $v
>>> make[2]: Entering directory `/usr/src/linux-headers-2.6.**32-38-generic'
>>>   CXX [M] btree.ko
>>> In file included from /usr/include/pthread.h:26,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/gthr-default.h:**41,
>>>                  from /usr/include/c++/4.4/i486-**
>>> linux-gnu/bits/gthr.h:162,
>>>                  from /usr/include/c++/4.4/ext/**atomicity.h:34,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:41,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> nodetype.h:12,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.h:16,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.cc:24:
>>> /usr/include/time.h:104: error: conflicting declaration ‘typedef void*
>>> timer_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:35:
>>> error: ‘timer_t’ has a previous declaration as ‘typedef __kernel_timer_t
>>> timer_t’
>>> In file included from /usr/include/c++/4.4/ext/new_**allocator.h:33,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/c++allocator.h:**34,
>>>                  from /usr/include/c++/4.4/bits/**allocator.h:48,
>>>                  from /usr/include/c++/4.4/string:**43,
>>>                  from /usr/include/c++/4.4/bits/**locale_classes.h:42,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:43,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> nodetype.h:12,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.h:16,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.cc:24:
>>> /usr/include/c++/4.4/new: In function ‘void* operator new(size_t,
>>> void*)’:
>>> /usr/include/c++/4.4/new:101: error: redefinition of ‘void* operator
>>> new(size_t, void*)’
>>> /usr/local/click/include/**click/config-linuxmodule.h:**215: error:
>>> ‘void*
>>> operator new(size_t, void*)’ previously defined here
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> nodetype.h:12,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.h:16,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.cc:24:
>>> /usr/include/sys/types.h: At global scope:
>>> /usr/include/sys/types.h:62: error: conflicting declaration ‘typedef
>>> __dev_t dev_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:26:
>>> error: ‘dev_t’ has a previous declaration as ‘typedef __kernel_dev_t
>>> dev_t’
>>> /usr/include/sys/types.h:72: error: conflicting declaration ‘typedef
>>> __mode_t mode_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:28:
>>> error: ‘mode_t’ has a previous declaration as ‘typedef __kernel_mode_t
>>> mode_t’
>>> /usr/include/sys/types.h:77: error: conflicting declaration ‘typedef
>>> __nlink_t nlink_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:29:
>>> error: ‘nlink_t’ has a previous declaration as ‘typedef __kernel_nlink_t
>>> nlink_t’
>>> In file included from /usr/include/sys/types.h:220,
>>>                  from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> nodetype.h:12,
>>>                   from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.h:16,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.cc:24:
>>> /usr/include/sys/select.h:78: error: conflicting declaration ‘typedef
>>> struct fd_set fd_set’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:25:
>>> error: ‘fd_set’ has a pre  CXX [M] hbflisttype.ko
>>> vious declaration as ‘typedef struct __kernel_fd_set fd_set’
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> nodetype.h:12,
>>>                   from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.h:16,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> btree.cc:24:
>>> /usr/include/sys/types.h:235: error: conflicting declaration ‘typedef
>>> __blkcnt_t blkcnt_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:143:
>>> error: ‘blkcnt_t’ has a previous declaration as ‘typedef u64 blkcnt_t’
>>> In file included from /usr/include/pthread.h:26,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/gthr-default.h:**41,
>>>                  from /usr/include/c++/4.4/i486-**
>>> linux-gnu/bits/gthr.h:162,
>>>                  from /usr/include/c++/4.4/ext/**atomicity.h:34,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:41,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.cc:13:
>>> /usr/include/time.h:104: error: conflicting declaration ‘typedef void*
>>> timer_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:35:
>>> error: ‘timer_t’ has a previous declaration as ‘typedef __kernel_timer_t
>>> timer_t’
>>> In file included from /usr/include/c++/4.4/ext/new_**allocator.h:33,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/c++allocator.h:**34,
>>>                  from /usr/include/c++/4.4/bits/**allocator.h:48,
>>>                  from /usr/include/c++/4.4/string:**43,
>>>                  from /usr/include/c++/4.4/bits/**locale_classes.h:42,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:43,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.cc:13:
>>> /usr/include/c++/4.4/new: In function ‘void* operator new(size_t,
>>> void*)’:
>>> /usr/include/c++/4.4/new:101: error: redefinition of ‘void* operator
>>> new(size_t, void*)’
>>> /usr/local/click/include/**click/config-linuxmodule.h:**215: error:
>>> ‘void*
>>> operator new(size_t, void*)’ previously defined here
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.cc:13:
>>> /usr/include/sys/types.h: At global scope:
>>> /usr/include/sys/types.h:62: error: conflicting declaration ‘typedef
>>> __dev_t dev_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:26:
>>> error: ‘dev_t’ has a previous declaration as ‘typedef __kernel_dev_t
>>> dev_t’
>>> /usr/include/sys/types.h:72: error: conflicting declaration ‘typedef
>>> __mode_t mode_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:28:
>>> error: ‘mode_t’ has a previous declaration as ‘typedef __kernel_mode_t
>>> mode_t’
>>> /usr/include/sys/types.h:77: error: conflicting declaration ‘typedef
>>> __nlink_t nlink_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:29:
>>> error: ‘nlink_t’ has a previous declaration as ‘typedef __kernel_nlink_t
>>> nlink_t’
>>> In file included from /usr/include/sys/types.h:220,
>>>                  from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflistty
>>>  CXX [M] itemtype.ko
>>> pe.cc:13:
>>> /usr/include/sys/select.h:78: error: conflicting declaration ‘typedef
>>> struct fd_set fd_set’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:25:
>>> error: ‘fd_set’ has a previous declaration as ‘typedef struct
>>> __kernel_fd_set fd_set’
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> hbflisttype.cc:13:
>>> /usr/include/sys/types.h:235: error: conflicting declaration ‘typedef
>>> __blkcnt_t blkcnt_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:143:
>>> error: ‘blkcnt_t’ has a previous declaration as ‘typedef u64 blkcnt_t’
>>> In file included from /usr/include/pthread.h:26,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/gthr-default.h:**41,
>>>                  from /usr/include/c++/4.4/i486-**
>>> linux-gnu/bits/gthr.h:162,
>>>                  from /usr/include/c++/4.4/ext/**atomicity.h:34,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:41,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.cc:13:
>>> /usr/include/time.h:104: error: conflicting declaration ‘typedef void*
>>> timer_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:35:
>>> error: ‘timer_t’ has a previous declaration as ‘typedef __kernel_timer_t
>>> timer_t’
>>> In file included from /usr/include/c++/4.4/ext/new_**allocator.h:33,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/c++allocator.h:**34,
>>>                  from /usr/include/c++/4.4/bits/**allocator.h:48,
>>>                  from /usr/include/c++/4.4/string:**43,
>>>                  from /usr/include/c++/4.4/bits/**locale_classes.h:42,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:43,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.cc:13:
>>> /usr/include/c++/4.4/new: In function ‘void* operator new(size_t,
>>> void*)’:
>>> /usr/include/c++/4.4/new:101: error: redefinition of ‘void* operator
>>> new(size_t, void*)’
>>> /usr/local/click/include/**click/config-linuxmodule.h:**215: error:
>>> ‘void*
>>> operator new(size_t, void*)’ previously defined here
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.cc:13:
>>> /usr/include/sys/types.h: At global scope:
>>> /usr/include/sys/types.h:62: error: conflicting declaration ‘typedef
>>> __dev_t dev_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:26:
>>> error: ‘dev_t’ has a previous declaration as ‘typedef __kernel_dev_t
>>> dev_t’
>>> /usr/include/sys/types.h:72: error: conflicting declaration ‘typedef
>>> __mode_t mode_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:28:
>>> error: ‘mode_t’ has a previous declaration as ‘typedef __kernel_mode_t
>>> mode_t’
>>> /usr/include/sys/types.h:77: error: conflicting declaration ‘typedef
>>> __nlink_t nlink_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:29:
>>> error: ‘nlink_t’ has a previous declaration as ‘typedef __kernel_nlink_t
>>> nlink_t’
>>> In file included from /usr/include/sys/types.h:220,
>>>                  from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.cc:1
>>>  CXX [M] listforcountingflowsize.ko
>>> 3:
>>> /usr/include/sys/select.h:78: error: conflicting declaration ‘typedef
>>> struct fd_set fd_set’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:25:
>>> error: ‘fd_set’ has a previous declaration as ‘typedef struct
>>> __kernel_fd_set fd_set’
>>> In file included from /usr/include/stdlib.h:320,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:23,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> storedflow.h:4,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> itemtype.cc:13:
>>> /usr/include/sys/types.h:235: error: conflicting declaration ‘typedef
>>> __blkcnt_t blkcnt_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:143:
>>> error: ‘blkcnt_t’ has a previous declaration as ‘typedef u64 blkcnt_t’
>>> In file included from /usr/include/pthread.h:26,
>>>                  from
>>> /usr/include/c++/4.4/i486-**linux-gnu/bits/gthr-default.h:**41,
>>>                  from /usr/include/c++/4.4/i486-**
>>> linux-gnu/bits/gthr.h:162,
>>>                  from /usr/include/c++/4.4/ext/**atomicity.h:34,
>>>                  from /usr/include/c++/4.4/bits/ios_**base.h:41,
>>>                  from /usr/include/c++/4.4/ios:43,
>>>                  from /usr/include/c++/4.4/ostream:**40,
>>>                  from /usr/include/c++/4.4/iostream:**40,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> flowpacket.h:20,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> listforcountingflowsize.h:11,
>>>                  from
>>> /mnt/hgfs/**sharedFolderWithUbuntu/**myelementpackage_temp_6/btree/**
>>> listforcountingflowsize.cc:13:
>>> /usr/include/time.h:104: error: conflicting declaration ‘typedef void*
>>> timer_t’
>>> /usr/local/click/include/**click-linuxmodule/include0/**
>>> linux/types.h:35:
>>> error: ‘timer_t’ has a previous declaration as ‘typedef __kernel_timer_t
>>> timer_t’
>>>
>>
> * Message clipped manually *
>>
>>
>
>>
>>> ------------------------------**----
>>> ------------------------------**----
>>> ______________________________**_________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/**mailman/listinfo/click<https://amsterdam.lcs.mit.edu/mailman/listinfo/click>
>>>
>>
>>
>>
>


More information about the click mailing list