[ 
https://issues.apache.org/jira/browse/THRIFT-3937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15532662#comment-15532662
 ] 

James E. King, III commented on THRIFT-3937:
--------------------------------------------

[~nsuke] any suggestions here?  It looks like new code for THRIFT-2835 has 
broken some older environments.  I got VS2010 working under THRIFT-3936 but 
this older gcc environment doesn't seem to work any more.   Either we need to 
change the minimum requirements that we publish on the apache web site or we 
need to fix the code.  Let me know.

> Cannot compile 0.10.0 development tip with gcc-4.6.3 and boost-1.53
> -------------------------------------------------------------------
>
>                 Key: THRIFT-3937
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3937
>             Project: Thrift
>          Issue Type: Bug
>          Components: Build Process
>    Affects Versions: 0.10.0
>         Environment: Ubuntu 12.04.5 LTS with gcc-4.6.3 and boost 1.53.0
>            Reporter: James E. King, III
>
> While building the tip using cmake:
> {noformat}
> [ 51%] Building CXX object 
> compiler/cpp/CMakeFiles/thriftc_static.dir/src/thrift/plugin/plugin_output.cc.o
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_enum, To = 
> apache::thrift::plugin::t_enum]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:181:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_enum_value*>::const_iterator, 
> std::vector<t_enum_value*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_enum_value> 
> >, <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:181:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = 
> t_const_value, To = apache::thrift::plugin::t_const_value]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:212:5: 
> error: no matching function for call to 
> ‘transform(std::vector<t_const_value*>::const_iterator, 
> std::vector<t_const_value*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_const_value> 
> >, <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:212:5: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_struct, To 
> = apache::thrift::plugin::t_struct]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:235:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_field*>::const_iterator, 
> std::vector<t_field*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_field> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:235:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_service, 
> To = apache::thrift::plugin::t_service]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:267:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_function*>::const_iterator, 
> std::vector<t_function*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_function> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:267:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_program, 
> To = apache::thrift::plugin::t_program]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:360:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_program*>::iterator, 
> std::vector<t_program*>::iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_program> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:360:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> make[2]: *** 
> [compiler/cpp/CMakeFiles/thriftc.dir/src/thrift/plugin/plugin_output.cc.o] 
> Error 1
> make[1]: *** [compiler/cpp/CMakeFiles/thriftc.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
> [ 52%] Building CXX object 
> compiler/cpp/CMakeFiles/thriftc_static.dir/src/thrift/plugin/plugin.cc.o
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_enum, To = 
> apache::thrift::plugin::t_enum]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:181:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_enum_value*>::const_iterator, 
> std::vector<t_enum_value*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_enum_value> 
> >, <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:181:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = 
> t_const_value, To = apache::thrift::plugin::t_const_value]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:212:5: 
> error: no matching function for call to 
> ‘transform(std::vector<t_const_value*>::const_iterator, 
> std::vector<t_const_value*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_const_value> 
> >, <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:212:5: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_struct, To 
> = apache::thrift::plugin::t_struct]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:235:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_field*>::const_iterator, 
> std::vector<t_field*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_field> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:235:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_service, 
> To = apache::thrift::plugin::t_service]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:267:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_function*>::const_iterator, 
> std::vector<t_function*>::const_iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_function> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:267:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc: In 
> function ‘void plugin_output::convert(From*, To&) [with From = t_program, 
> To = apache::thrift::plugin::t_program]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:360:3: 
> error: no matching function for call to 
> ‘transform(std::vector<t_program*>::iterator, 
> std::vector<t_program*>::iterator, 
> std::back_insert_iterator<std::vector<apache::thrift::plugin::t_program> >, 
> <unresolved overloaded function type>)’
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin_output.cc:360:3: 
> note: candidates are:
> /usr/include/c++/4.6/bits/stl_algo.h:4871:5: note: template<class _IIter, 
> class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, 
> _OIter, _UnaryOperation)
> /usr/include/c++/4.6/bits/stl_algo.h:4907:5: note: template<class _IIter1, 
> class _IIter2, class _OIter, class _BinaryOperation> _OIter 
> std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
> make[2]: *** 
> [compiler/cpp/CMakeFiles/thriftc_static.dir/src/thrift/plugin/plugin_output.cc.o]
>  Error 1
> make[2]: *** Waiting for unfinished jobs....
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc: In function 
> ‘void apache::thrift::plugin::convert(const From&, To*) [with From = 
> apache::thrift::plugin::t_enum, To = t_enum]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc:220:86: error: no 
> match for call to ‘(const 
> boost::range_detail::forwarder<boost::range_detail::transform_holder>) 
> (<unresolved overloaded function type>)’
> /usr/include/boost/range/adaptor/argument_fwd.hpp:42:16: note: candidate is:
> /usr/include/boost/range/adaptor/argument_fwd.hpp:45:23: note: template<class 
> T> Holder<T> boost::range_detail::forwarder::operator()(T) const [with T = T, 
> Holder = boost::range_detail::transform_holder]
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc: In function 
> ‘void apache::thrift::plugin::convert(const From&, To*) [with From = 
> apache::thrift::plugin::t_const_value, To = t_const_value]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc:257:89: error: no 
> match for call to ‘(const 
> boost::range_detail::forwarder<boost::range_detail::transform_holder>) 
> (<unresolved overloaded function type>)’
> /usr/include/boost/range/adaptor/argument_fwd.hpp:42:16: note: candidate is:
> /usr/include/boost/range/adaptor/argument_fwd.hpp:45:23: note: template<class 
> T> Holder<T> boost::range_detail::forwarder::operator()(T) const [with T = T, 
> Holder = boost::range_detail::transform_holder]
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc: In function 
> ‘void apache::thrift::plugin::convert(const From&, To*) [with From = 
> apache::thrift::plugin::t_struct, To = t_struct]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc:284:79: error: no 
> match for call to ‘(const 
> boost::range_detail::forwarder<boost::range_detail::transform_holder>) 
> (<unresolved overloaded function type>)’
> /usr/include/boost/range/adaptor/argument_fwd.hpp:42:16: note: candidate is:
> /usr/include/boost/range/adaptor/argument_fwd.hpp:45:23: note: template<class 
> T> Holder<T> boost::range_detail::forwarder::operator()(T) const [with T = T, 
> Holder = boost::range_detail::transform_holder]
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc: In function 
> ‘void apache::thrift::plugin::convert(const From&, To*) [with From = 
> apache::thrift::plugin::t_service, To = t_service]’:
> /home/jking/thrift/compiler/cpp/src/thrift/plugin/plugin.cc:311:84: error: no 
> match for call to ‘(const 
> boost::range_detail::forwarder<boost::range_detail::transform_holder>) 
> (<unresolved overloaded function type>)’
> /usr/include/boost/range/adaptor/argument_fwd.hpp:42:16: note: candidate is:
> /usr/include/boost/range/adaptor/argument_fwd.hpp:45:23: note: template<class 
> T> Holder<T> boost::range_detail::forwarder::operator()(T) const [with T = T, 
> Holder = boost::range_detail::transform_holder]
> make[2]: *** 
> [compiler/cpp/CMakeFiles/thriftc_static.dir/src/thrift/plugin/plugin.cc.o] 
> Error 1
> make[1]: *** [compiler/cpp/CMakeFiles/thriftc_static.dir/all] Error 2
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to