[ https://issues.apache.org/jira/browse/THRIFT-3043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14363048#comment-14363048 ]
Roger Meier commented on THRIFT-3043: ------------------------------------- I had to add the following definition to compiler/cpp/CMakeLists.txt to get it working: {noformat} list(APPEND CMAKE_CXX_FLAGS "-std=c++03 ${CMAKE_CXX_FLAGS}") {noformat} The standard CMake way only supports 98, 11 and 14, see here http://www.cmake.org/cmake/help/v3.1/prop_tgt/CXX_STANDARD.html?highlight=cxx_standard I guess we should change the default at least to the pseudo standard c++03, would this fit for centos? Or can we start to depend on centos 7? > go compiler generator uses non C++98 code > ----------------------------------------- > > Key: THRIFT-3043 > URL: https://issues.apache.org/jira/browse/THRIFT-3043 > Project: Thrift > Issue Type: Bug > Components: Go - Compiler > Affects Versions: 0.9.3 > Reporter: Randy Abernethy > Priority: Blocker > > go compiler generator uses non C++98 code causing builds to fail in Centos 6 > and other environments. > ==> default: src/generate/t_go_generator.cc:415: error: in C++98 > ���commonInitialisms��� must be initialized by constructor, not by ���{...}��� > ==> default: src/generate/t_go_generator.cc:415: error: deducing from > brace-enclosed initializer list requires #include <initializer_list> > ==> default: src/generate/t_go_generator.cc:415: error: deducing from > brace-enclosed initializer list requires #include <initializer_list> > ==> default: src/generate/t_go_generator.cc:415: warning: extended > initializer lists only available with -std=c++0x or -std=gnu++0x > ==> default: src/generate/t_go_generator.cc:415: error: no matching function > for call to ���std::set<std::basic_string<char, std::char_traits<char>, s > td::allocator<char> >, std::less<std::basic_string<char, > std::char_traits<char>, std::allocator<char> > >, > std::allocator<std::basic_string<char, std: > :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed > initializer list>)��� > ==> default: > /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_set.h:188: > note: candidates are: std::set<_Key, _Compare, _ > Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key = > std::basic_string<char, std::char_traits<char>, std::allocator<char> >, > _Compare = s > td::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, _Alloc = std::allocator<std::basic_string<char, std::char_traits<ch > ar>, std::allocator<char> > >] > ==> default: > /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_set.h:136: > note: std::set<_Key, _Compare, _ > Alloc>::set() [with _Key = std::basic_string<char, std::char_traits<char>, > std::allocator<char> >, _Compare = std::less<std::basic_string<char, std::c > har_traits<char>, std::allocator<char> > >, _Alloc = > std::allocator<std::basic_string<char, std::char_traits<char>, > std::allocator<char> > >] > ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1 > ==> default: make[3]: Leaving directory `/thrift/compiler/cpp' > ==> default: make[2]: *** [all] Error 2 -- This message was sent by Atlassian JIRA (v6.3.4#6332)