[ https://issues.apache.org/jira/browse/TS-1583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502268#comment-13502268 ]
Alan M. Carroll commented on TS-1583: ------------------------------------- I tested the proposed patch and it doesn't work on my gcc 4.6.3 because the unordered_map header requires additional compiler options (-std=c++0x). I have an alternative patch which is uglier but more functional for gcc 4.6. > Visibility of hash_map unclear to GCC 4.7 when -std=c++11 > --------------------------------------------------------- > > Key: TS-1583 > URL: https://issues.apache.org/jira/browse/TS-1583 > Project: Traffic Server > Issue Type: Bug > Components: Build > Affects Versions: 3.3.0 > Environment: Fedora 17 64bit - gcc 4.7 > Reporter: Luca Rea > Attachments: ts-1583.patch > > > master trunk > {noformat} > make[2]: Entering directory `/home/luca/trafficserver/proxy' > CXX logstats.o > logstats.cc:349:74: error: template argument 3 is invalid > logstats.cc:349:89: error: invalid type in declaration before ‘;’ token > logstats.cc:350:59: error: template argument 2 is invalid > logstats.cc:350:70: error: invalid type in declaration before ‘;’ token > logstats.cc:359:80: error: template argument 3 is invalid > logstats.cc: In member function ‘void UrlLru::add_stat(const char*, int64_t, > int, int, int, int)’: > logstats.cc:402:23: error: expected initializer before ‘h’ > logstats.cc:404:9: error: ‘h’ was not declared in this scope > logstats.cc:404:20: error: request for member ‘end’ in > ‘((UrlLru*)this)->UrlLru::_hash’, which is of non-class type ‘UrlLru::LruHash > {aka int}’ > logstats.cc:461:21: error: request for member ‘find’ in > ‘((UrlLru*)this)->UrlLru::_hash’, which is of non-class type ‘UrlLru::LruHash > {aka int}’ > logstats.cc:462:26: error: request for member ‘end’ in > ‘((UrlLru*)this)->UrlLru::_hash’, which is of non-class type ‘UrlLru::LruHash > {aka int}’ > logstats.cc:463:19: error: request for member ‘erase’ in > ‘((UrlLru*)this)->UrlLru::_hash’, which is of non-class type ‘UrlLru::LruHash > {aka int}’ > logstats.cc:522:18: error: assignment of read-only location ‘*(u + > ((sizetype)((long unsigned int)((UrlLru*)this)->UrlLru::_hash)))’ > logstats.cc:522:18: error: cannot convert ‘std::list<UrlStats>::iterator {aka > std::_List_iterator<UrlStats>}’ to ‘const char’ in assignment > logstats.cc: In member function ‘void UrlLru::_init()’: > logstats.cc:536:13: error: request for member ‘resize’ in > ‘((UrlLru*)this)->UrlLru::_hash’, which is of non-class type ‘UrlLru::LruHash > {aka int}’ > logstats.cc: In function ‘int parse_log_buff(LogBufferHeader*, bool)’: > logstats.cc:1183:27: error: expected initializer before ‘o_iter’ > logstats.cc:1347:43: error: request for member ‘find’ in ‘* origin_set’, > which is of non-class type ‘OriginSet {aka int}’ > logstats.cc:1347:68: error: request for member ‘end’ in ‘* origin_set’, which > is of non-class type ‘OriginSet {aka int}’ > logstats.cc:1348:15: error: ‘o_iter’ was not declared in this scope > logstats.cc:1348:32: error: request for member ‘find’ in ‘origins’, which is > of non-class type ‘OriginStorage {aka int}’ > logstats.cc:1349:27: error: request for member ‘end’ in ‘origins’, which is > of non-class type ‘OriginStorage {aka int}’ > logstats.cc:1356:39: error: invalid conversion from ‘OriginStats*’ to ‘char’ > [-fpermissive] > logstats.cc: In function ‘void my_exit(const ExitStatus&)’: > logstats.cc:2132:16: error: request for member ‘empty’ in ‘origins’, which is > of non-class type ‘OriginStorage {aka int}’ > logstats.cc:2134:25: error: invalid use of qualified-name ‘::iterator’ > logstats.cc:2134:34: error: expected ‘;’ before ‘i’ > logstats.cc:2134:34: error: ‘i’ was not declared in this scope > logstats.cc:2134:46: error: request for member ‘begin’ in ‘origins’, which is > of non-class type ‘OriginStorage {aka int}’ > logstats.cc:2134:68: error: request for member ‘end’ in ‘origins’, which is > of non-class type ‘OriginStorage {aka int}’ > logstats.cc:2134:73: error: expected ‘)’ before ‘;’ token > logstats.cc:2134:75: error: ‘i’ was not declared in this scope > logstats.cc:2134:78: error: expected ‘;’ before ‘)’ token > logstats.cc: In function ‘int main(int, char**)’: > logstats.cc:2295:21: error: request for member ‘insert’ in ‘* origin_set’, > which is of non-class type ‘OriginSet {aka int}’ > logstats.cc:2330:25: error: request for member ‘insert’ in ‘* origin_set’, > which is of non-class type ‘OriginSet {aka int}’ > make[2]: *** [logstats.o] Error 1 > make[2]: Leaving directory `/home/luca/trafficserver/proxy' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/luca/trafficserver/proxy' > make: *** [all-recursive] Error 1 > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira