compile err

YongKang Zhu yozhu at ece.rochester.edu
Mon Jul 22 21:58:02 EDT 2002


Hello, Eddie,

> > When installing click, I configured with option --disable-int64, and
> > the g++ version is 2.96.
>
> I believe the problem is that the old IPReassembler::PacketInfo structure,
> is too large on your platform. Maybe your pointers are 64 bits.
>
> Try the anonymous CVS version of Click. Its version of PacketLink,
> ...
> Or get rid of the padding altogether.

I removed the padding[] from IPReassembler::PacketLink structure
as you said, and the complication error was gone. Thank you.

However, the compilation was stuck again at the conversion from
`void *' to `int', which on my machine are 64-bit and 32-bit,
respectively:

../elements/standard/msqueue.cc: In function `String 
MSQueue::read_handler (Element *, void *)':
../elements/standard/msqueue.cc:132: reinterpret_cast from `void *' to 
`int' loses precision

The reason I used option `--disable-int64' when configuring is to
avoid the following compilation errors:

In file included from ../lib/string.cc:21:
../include/click/string.hh:32: `String::String (long int)' has already 
been declared in `String'
../include/click/string.hh:33: `String::String (long unsigned int)' has 
already been declared in `String'
../lib/string.cc:93: redefinition of `String::String (long int)'
../lib/string.cc:75: `String::String (long int)' previously defined 
here
../lib/string.cc:100: redefinition of `String::String (long unsigned 
int)'
../lib/string.cc:82: `String::String (long unsigned int)' previously 
defined here

Also, with option `--disable-int64', I got lots of compilation warnings
at where pointer is converted to integer of different size.

Please help me out. Thank you for the time and attention.

Regards,
-YongKang




More information about the click mailing list