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

Eddie Kohler kohler at cs.ucla.edu
Wed Jun 10 13:16:00 EDT 2009


I'm afraid these issues are too difficult for us to easily work around.  You
need to upgrade your version of GCC or use an older release of Click.

Eddie


JiaFenggen wrote:
> 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
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list