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

Harkeerat Bedi hsbedi at memphis.edu
Mon Feb 6 01:41:03 EST 2012


Hello Eddie,

Thank you for your feedback. I was using floating point arithmetic in my
code earlier. For now, I have replaced all int, double and float types in
my code with int32_t.

To perform division (which is necessary in my application), I am using the
following code:

#define fixedpt_xdiv(A,B) (int32_t)((A << 8) / B)

After removing floating point arithmetic, now the following errors remain
(dmesg output):

[ 4184.551295] click: starting router thread pid 9889 (f3d7f6c0)
[ 4184.569707] myelementpackage: Unknown symbol __dso_handle
[ 4184.572406] myelementpackage: Unknown symbol __cxa_atexit
[ 4197.961612] click: stopping router thread pid 9889
[ 4197.961637] click module exiting

Can you kindly suggest how I can fix these errors? If they are due to my
use of static member variables, can we handle these errors without removing
them?

Also, in the #define written above, if I cast the values of A and B with
int64_t, like:
#define fixedpt_xdiv(A,B) (int32_t)(((int64_t)A << 8) / (int64_t)B)

I get the following additional error:
[ 4475.103019] myelementpackage: Unknown symbol __divdi3

Can you suggest why casting with int64_t causes such an error?

On a side note, I was interested to see if I could get similar errors if I
added floating point arithmetic in the sample package provided by Click in
...DIR/etc/samplepackage/ directory.
I added the following code in the initialize() definition in sampleelt.cc:

int
SamplePackageElement::initialize(ErrorHandler *errh)
{
        errh->message("Successfully linked with package!");
    float temp;
float temp1 = 121.1211;
float temp2 = 345234.32423;
    temp = temp2 / temp1;
    click_chatter("temp: %d", (int64_t) temp);
        return 0;
}

However, the element ran successfully in kernel level, with the following
output in dmesg:

[14044.407445] click: starting router thread pid 19173 (f4026780)
[14044.412844] test.click:3: While initializing 'test ::
SamplePackageElement':
[14044.412848]   Successfully linked with package!
[14044.412853] chatter: temp: 2850
[14046.287880] click: stopping router thread pid 19173
[14046.287897] click module exiting

Can you kindly suggest why we did not observe any errors for using floating
point arithmetic in this case?

Thank you for your time and suggestions.

Regards,
Harkeerat Bedi
University of Memphis


On Thu, Feb 2, 2012 at 9:17 AM, Eddie Kohler <ekohler at gmail.com> wrote:

> Hi Harkeerat,
>
> It looks to me like you are using floating point arithmetic (type
> double or float). Unfortunately, that, too, is prohibited from the
> kernel.
>
> The __cxo_atexit stuff is different and may be avoidable. But first,
> can you remove floating point from your code?...
>
> Eddie
>
>
> On Thu, Feb 2, 2012 at 2:08 AM, Harkeerat Bedi <hsbedi at memphis.edu> wrote:
> > 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
> >>>
> >>>
> >>>
> >>
> >
>
>
>


More information about the click mailing list