[Click] user level click compile problem with click-1.7.0rc1 on linux 2.4

JiaFenggen jfg6688 at hotmail.com
Wed Jun 3 21:11:24 EDT 2009


yes,my gcc version is 3.2.2.I patch the config.h.in the original error disapear but the new emit,the error output is as follows:

"

CXX ../lib/confparse.cc
In file included from ../lib/confparse.cc:32:
../include/click/hashtable.hh:364: partial specialization `HashTable<T, void>' 
   declared `friend'
../include/click/hashtable.hh:419: partial specialization `HashTable<T, void>' 
   declared `friend'
In file included from ../include/click/standard/addressinfo.hh:5,
                 from ../lib/confparse.cc:41:
../include/click/hashmap.hh:221: warning: `typename _HashMap_const_iterator<K, 
   V>::unspecified_bool_type' is implicitly a typename
../include/click/hashmap.hh:221: warning: implicit typename is deprecated, 
   please see the documentation for details
../include/click/hashmap.hh:222: no `_HashMap_const_iterator<K, V>::operator 
   bool (_HashMap_const_iterator<K, V>::*)() const() const' member function 
   declared in class `_HashMap_const_iterator<K, V>'
../include/click/hashmap.hh:222: template definition of non-template `
   _HashMap_const_iterator<K, V>::operator bool (_HashMap_const_iterator<K, 
   V>::*)() const() const'
../include/click/hashmap.hh:424: warning: `typename _HashMap_const_iterator<K, 
   void*>::unspecified_bool_type' is implicitly a typename
../include/click/hashmap.hh:424: warning: implicit typename is deprecated, 
   please see the documentation for details
../include/click/hashmap.hh:425: no `_HashMap_const_iterator<K, 
   void*>::operator bool (_HashMap_const_iterator<K, void*>::*)() const() const
   ' member function declared in class `_HashMap_const_iterator<K, void*>'
../include/click/hashmap.hh:425: template definition of non-template `
   _HashMap_const_iterator<K, void*>::operator bool (_HashMap_const_iterator<K, 
   void*>::*)() const() const'
../include/click/hashmap.hh:562: warning: `typename _HashMap_const_iterator<K, 
   T*>::unspecified_bool_type' is implicitly a typename
../include/click/hashmap.hh:562: warning: implicit typename is deprecated, 
   please see the documentation for details
../include/click/hashmap.hh:563: no `_HashMap_const_iterator<K, T*>::operator 
   _HashMap_const_iterator<K, void*>::unspecified_bool_type() const' member 
   function declared in class `_HashMap_const_iterator<K, T*>'
../include/click/hashmap.hh:563: template definition of non-template `
   _HashMap_const_iterator<K, T*>::operator _HashMap_const_iterator<K, 
   void*>::unspecified_bool_type() const'
make[1]: *** [confparse.o] Error 1
make[1]: Leaving directory `/home/jfg/click/click-1.7.0rc1/userlevel'
make: *** [userlevel] Error 2

"

sees there are some place to change,waiting for you reply.thanks.

Yours,Fenggen

 

> can you please check your compiler-version (gcc -v). Redhat 9.0 uses 3.2.2, i 
> think. In click-1.5, the macro CLICK_DEPRECATED is define as empty string for 
> that gcc-version. In click-1.7.0 it is defined 
> as "__attribute__((deprecated))" for gcc-version newer than 3.0 .
> Looks like this is wrong in config.h.in. The Definition in click-1.5 seems to 
> be right.
> The patch (attachment) should fix it. It changes the config.h.in. Please, 
> apply the patch and run configure again and check whether it works.
> 
> Best regards,
> Robert
> 
> 
> > hi,all,
> >
> > I am compiling user level click on linux,my linux kernel version is
> > :2.4.20-8smp(redhat 9.0),when i compile click-1.7.0rc1(just "./configure 
> > and make"),it complains:
> >
> > "make[1]: Entering directory `/usr/click-1.7.0rc1/userlevel'
> > echo "userlevel app aqm ethernet icmp ip standard tcpudp threads" |
> > ../click-buildtool findelem -r userlevel -p .. -X ./elements.exclude >
> > elements.conf ../click-buildtool elem2make -x "addressinfo.o
> > alignmentinfo.o errorelement.o portinfo.o scheduleinfo.o" < elements.conf >
> > elements.mk make[1]: Leaving directory `/usr/click-1.7.0rc1/userlevel'
> > make[1]: Entering directory `/usr/click-1.7.0rc1/userlevel'
> > CXX ../lib/string.cc
> > CXX ../lib/straccum.cc
> > CXX ../lib/nameinfo.cc
> > In file included from ../include/click/element.hh:7,
> > from ../include/click/router.hh:4,
> > from ../lib/nameinfo.cc:23:
> > ../include/click/packet.hh:587: semicolon missing after enum declaration
> > ../include/click/packet.hh:587: warning: `deprecated' attribute ignored
> > make[1]: *** [nameinfo.o] Error 1
> > make[1]: Leaving directory `/usr/click-1.7.0rc1/userlevel'
> > make: *** [userlevel] Error 2
> >
> > "
> >
> > I have tried click-1.6.0 but end with the same error,however,click-1.5.0
> > compiles ok on 2.4.20.
> >
> > But on kernel 2.6(Fedora),all three versions compiles ok,is there kernel
> > version dependence of click?
> >
> > Yours,Fenggen


_________________________________________________________________
上Windows Live 中国首页,下载最新版Messenger!
http://www.windowslive.cn


More information about the click mailing list