Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile on RHEL 8.6 + boost 1.66 #54

Open
ElCoyote27 opened this issue Jun 27, 2022 · 4 comments
Open

Cannot compile on RHEL 8.6 + boost 1.66 #54

ElCoyote27 opened this issue Jun 27, 2022 · 4 comments

Comments

@ElCoyote27
Copy link

Hi,
Trying to build executor from source on RHEL 8.6 + libboost 1.66, I get a C++ error:

[raistlin@daltigoth ~/rpmbuild/BUILD/executor/build]$ gmake
[  1%] Built target lmdb
[  6%] Built target resources
[  9%] Built target syngen
[ 14%] Built target syn68k
[ 15%] Built target powergenerator
[ 16%] Built target PowerCore
[ 16%] Built target CountInstructions
[ 16%] Built target testbed
[ 17%] Built target test-powerpc
[ 19%] Built target mon
[ 19%] Built target cxmon
[ 19%] Built target mksspairtable
[ 20%] Built target mkseedtables
[ 21%] Built target mkultable
[ 21%] Built target map_to_c
[ 89%] Built target romlib
[ 89%] Built target front-end-headless
[ 90%] Built target front-end-x
Consolidate compiler generated dependencies of target executor-x
[ 90%] Building CXX object src/CMakeFiles/executor-x.dir/main.cpp.o
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_exists<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:158:70: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
                                                                     ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:95:114: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
                                                                                                                  ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/iterator/iterator_categories.hpp:21,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:28,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp: In instantiation of ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   required from ‘struct boost::detail::deduce_target_char<MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:   required from ‘struct boost::detail::lexical_cast_stream_traits<std::__cxx11::basic_string<char>, MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13: error: ‘value’ is not a member of ‘boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
             BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
             ^~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [src/CMakeFiles/executor-x.dir/build.make:76: src/CMakeFiles/executor-x.dir/main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:762: src/CMakeFiles/executor-x.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2
[raistlin@daltigoth ~/rpmbuild/BUILD/executor/build]$ gmake
  06/26/2022 21:43:13 .: 7.81 6.38 5.27 :.  0 raistlin@daltigoth:~  1 coyote@daltigoth:~  2 root@daltigoth:~  3 raistlin@daltigoth:~  4 raistlin@daltigoth:~  5 root@daltigoth:~/Bui  6 root@daltigoth:~  7 raistlin@daltigoth:~  
raits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’ 
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:95:114: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
                                                                                                                  ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’ 
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/iterator/iterator_categories.hpp:21,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:28,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp: In instantiation of ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   required from ‘struct boost::detail::deduce_target_char<MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:   required from ‘struct boost::detail::lexical_cast_stream_traits<std::__cxx11::basic_string<char>, MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13: error: ‘value’ is not a member of ‘boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
             BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
             ^~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [src/CMakeFiles/executor-x.dir/build.make:76: src/CMakeFiles/executor-x.dir/main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:762: src/CMakeFiles/executor-x.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2

@ElCoyote27
Copy link
Author

Here is the list of boost rpms I have installed:

$ rpm -qa boost\*
boost-thread-1.66.0-10.el8.x86_64
boost-type_erasure-1.66.0-10.el8.x86_64
boost-math-1.66.0-10.el8.i686
boost-filesystem-1.66.0-10.el8.x86_64
boost-serialization-1.66.0-10.el8.i686
boost-math-1.66.0-10.el8.x86_64
boost-coroutine-1.66.0-10.el8.i686
boost-wave-1.66.0-10.el8.i686
boost-iostreams-1.66.0-10.el8.i686
boost-system-1.66.0-10.el8.x86_64
boost-devel-1.66.0-10.el8.x86_64
boost-timer-1.66.0-10.el8.i686
boost-date-time-1.66.0-10.el8.i686
boost-container-1.66.0-10.el8.i686
boost-serialization-1.66.0-10.el8.x86_64
boost-stacktrace-1.66.0-10.el8.x86_64
boost-chrono-1.66.0-10.el8.x86_64
boost-graph-1.66.0-10.el8.x86_64
boost-test-1.66.0-10.el8.i686
boost-test-1.66.0-10.el8.x86_64
boost-iostreams-1.66.0-10.el8.x86_64
boost-graph-1.66.0-10.el8.i686
boost-filesystem-1.66.0-10.el8.i686
boost-locale-1.66.0-10.el8.i686
boost-atomic-1.66.0-10.el8.x86_64
boost-date-time-1.66.0-10.el8.x86_64
boost-regex-1.66.0-10.el8.i686
boost-timer-1.66.0-10.el8.x86_64
boost-container-1.66.0-10.el8.x86_64
boost-coroutine-1.66.0-10.el8.x86_64
boost-context-1.66.0-10.el8.i686
boost-log-1.66.0-10.el8.x86_64
boost-system-1.66.0-10.el8.i686
boost-regex-1.66.0-10.el8.x86_64
boost-log-1.66.0-10.el8.i686
boost-chrono-1.66.0-10.el8.i686
boost-devel-1.66.0-10.el8.i686
boost-1.66.0-10.el8.x86_64
boost-program-options-1.66.0-10.el8.i686
boost-stacktrace-1.66.0-10.el8.i686
boost-random-1.66.0-10.el8.x86_64
boost-1.66.0-10.el8.i686
boost-locale-1.66.0-10.el8.x86_64
boost-signals-1.66.0-10.el8.x86_64
boost-fiber-1.66.0-10.el8.x86_64
boost-context-1.66.0-10.el8.x86_64
boost-thread-1.66.0-10.el8.i686
boost-random-1.66.0-10.el8.i686
boost-type_erasure-1.66.0-10.el8.i686
boost-atomic-1.66.0-10.el8.i686
boost-wave-1.66.0-10.el8.x86_64
boost-signals-1.66.0-10.el8.i686
boost-program-options-1.66.0-10.el8.x86_64
boost-fiber-1.66.0-10.el8.i686

@ElCoyote27
Copy link
Author

I tried editing

And adding a few defines to CXX_DEFINES but it did not help resolve the issue:

-DBOOST_LCAST_NO_WCHAR_T -DBOOST_NO_WCHAR_T -DBOOST_STATIC_ASSERT_HPP 

@ElCoyote27
Copy link
Author

BTW, the binary rpms which were in the 'ready' subdirectory do work fine on RHEL 8.7 (had to rebuild an rpm of libdb-4.7 but aside from that it was easy):

$ rpm -qa executor\* compat-db\*
executor-aux-1-1.i686
compat-db47-4.7.25-28.el8.i386
compat-db-headers-4.7.25-28.el8.noarch
executor-1-1.i686

@ElCoyote27
Copy link
Author

Apologies, this is where I got the rpms:

origin  https://github.com/victor3dptz/executor-packaging (fetch)
origin  https://github.com/victor3dptz/executor-packaging (push)
$ find . -name \*rpm
./SPECS/executor-2-1.src.rpm
./ready/centos-6.8/executor-aux-1-1.i686.rpm
./ready/centos-6.8/executor-1-1.i686.rpm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant