Boost C++ Libraries: Ticket #11200: Error when compiling log_setup by compiler Intel C++ 14.0 https://svn.boost.org/trac10/ticket/11200 <p> In case of compilation of log_setup library there is the following error: </p> <pre class="wiki">intel-linux.compile.c++ /home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt/default_formatter_factory.o "/opt/intel/composer_xe_2013_sp1.0.080/bin/intel64/icpc" -c -xc++ -w1 -inline-level=2 -O3 -ip -pthread -fPIC -m64 -fPIC -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc -fno-builtin-calloc -fno-builtin-cfree -fno-builtin-memalign -fno-builtin-posix_memalign -fno-builtin-valloc -fno-builtin-pvalloc -no-intel-extensions -fvisibility=hidden -fvisibility-inlines-hidden -ipo -std=gnu++98 -wd177,780,2196,1782,193,304,981,1418,411,734,279 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LOG_DYN_LINK=1 -DBOOST_LOG_SETUP_BUILDING_THE_LIB=1 -DBOOST_LOG_SETUP_DLL -DBOOST_LOG_USE_AVX2 -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_USE_SSSE3 -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DDATE_TIME_INLINE -DNDEBUG -D_GNU_SOURCE=1 -D_XOPEN_SOURCE=600 -I"." -c -o "/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt/default_formatter_factory.o" "libs/log/src/default_formatter_factory.cpp" ./boost/proto/detail/preprocessed/make_expr_.hpp(73): error: class "boost::proto::transform&lt;PrimitiveTransform, X&gt;::result&lt;boost::phoenix::phoenix_generator (boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2&lt;boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, boost::log::v2_mt_posix::expressions::stream_type&gt;, 2L&gt;)&gt; [with PrimitiveTransform=boost::proto::switch_&lt;boost::phoenix::phoenix_generator, boost::proto::tag_of&lt;boost::proto::_&gt; ()&gt;, X=void]" has no member "type" typedef typename proto_generator::template result&lt;proto_generator(expr_type)&gt;::type result_type; ^ detected during: instantiation of class "boost::proto::detail::make_expr_&lt;Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void&gt; [with Tag=boost::proto::tagns_::tag::assign, Domain=boost::phoenix::phoenix_domain, A0=boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, A1=boost::phoenix::actor&lt;boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;&gt;]" at line 184 of "./boost/proto/make_expr.hpp" instantiation of class "boost::proto::result_of::make_expr&lt;Tag, Domain, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Domain::proto_is_domain_&gt; [with Tag=boost::proto::tagns_::tag::assign, Domain=boost::phoenix::phoenix_domain, A0=boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, A1=boost::phoenix::actor&lt;boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;&gt;, A2=void, A3=void, A4=void, A5=void, A6=void, A7=void, A8=void, A9=void]" at line 241 of "./boost/proto/detail/preprocessed/basic_expr.hpp" instantiation of class "boost::proto::exprns_::basic_expr&lt;Tag, boost::proto::argsns_::list2&lt;Arg0, Arg1&gt;, 2L&gt; [with Tag=boost::proto::tagns_::tag::assign, Arg0=boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, Arg1=boost::log::v2_mt_posix::expressions::stream_type]" at line 830 of "./boost/proto/matches.hpp" instantiation of class "boost::proto::switch_&lt;Cases, boost::proto::tag_of&lt;boost::proto::_&gt; ()&gt;::impl&lt;Expr, State, Data&gt; [with Cases=boost::phoenix::phoenix_generator, Expr=boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2&lt;boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, boost::log::v2_mt_posix::expressions::stream_type&gt;, 2L&gt;, State=boost::proto::envns_::empty_state={int}, Data=boost::proto::envns_::empty_env]" at line 238 of "./boost/proto/transform/impl.hpp" instantiation of class "boost::proto::detail::apply_transform&lt;PrimitiveTransform (Expr)&gt; [with PrimitiveTransform=boost::phoenix::phoenix_generator, Expr=boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2&lt;boost::proto::exprns_::basic_expr&lt;boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term&lt;boost::phoenix::argument&lt;2&gt;&gt;, 0L&gt;, boost::log::v2_mt_posix::expressions::stream_type&gt;, 2L&gt;]" at line 255 of "./boost/proto/transform/impl.hpp" [ 7 instantiation contexts not shown ] instantiation of class "boost::proto::detail::make_expr_&lt;Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void&gt; [with Tag=boost::proto::tagns_::tag::shift_left, Domain=boost::phoenix::phoenix_domain, A0=const boost::log::v2_mt_posix::expressions::stream_type &amp;, A1=boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt; &amp;]" at line 184 of "./boost/proto/make_expr.hpp" instantiation of class "boost::proto::result_of::make_expr&lt;Tag, Domain, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Domain::proto_is_domain_&gt; [with Tag=boost::proto::tagns_::tag::shift_left, Domain=boost::phoenix::phoenix_domain, A0=const boost::log::v2_mt_posix::expressions::stream_type &amp;, A1=boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt; &amp;, A2=void, A3=void, A4=void, A5=void, A6=void, A7=void, A8=void, A9=void]" at line 40 of "./boost/core/enable_if.hpp" instantiation of class "boost::lazy_enable_if_c&lt;B, T&gt; [with B=true, T=boost::proto::result_of::make_expr&lt;boost::proto::tagns_::tag::shift_left, boost::phoenix::phoenix_domain, const boost::log::v2_mt_posix::expressions::stream_type &amp;, boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt; &amp;, void, void, void, void, void, void, void, void, void&gt;]" at line 70 of "./boost/proto/operators.hpp" instantiation of class "boost::proto::detail::enable_binary&lt;Domain, Grammar, Trait, Tag, Left, Right&gt; [with Domain=boost::phoenix::phoenix_domain, Grammar=boost::phoenix::meta_grammar, Trait=boost::mpl::or_&lt;boost::proto::is_extension&lt;const boost::log::v2_mt_posix::expressions::stream_type&gt;, boost::proto::is_extension&lt;boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt;&gt;, boost::mpl::bool_&lt;false&gt;, boost::mpl::bool_&lt;false&gt;, boost::mpl::bool_&lt;false&gt;&gt;, Tag=boost::proto::tagns_::tag::shift_left, Left=const boost::log::v2_mt_posix::expressions::stream_type &amp;, Right=boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt; &amp;]" at line 89 of "./boost/proto/operators.hpp" instantiation of class "boost::proto::detail::enable_binary&lt;boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, Trait, Tag, Left &amp;, Right &amp;&gt; [with Trait=boost::mpl::or_&lt;boost::proto::is_extension&lt;const boost::log::v2_mt_posix::expressions::stream_type&gt;, boost::proto::is_extension&lt;boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt;&gt;, boost::mpl::bool_&lt;false&gt;, boost::mpl::bool_&lt;false&gt;, boost::mpl::bool_&lt;false&gt;&gt;, Tag=boost::proto::tagns_::tag::shift_left, Left=const boost::log::v2_mt_posix::expressions::stream_type, Right=boost::log::v2_mt_posix::expressions::attribute_actor&lt;boost::mpl::vector30&lt;bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id&gt;, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor&gt;]" at line 82 of "libs/log/src/default_formatter_factory.cpp" compilation aborted for libs/log/src/default_formatter_factory.cpp (code 2) ...skipped &lt;p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt&gt;libboost_log_setup-il140-mt-1_58.so.1.58.0 for lack of &lt;p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt&gt;default_formatter_factory.o... ...skipped &lt;p/home/phprus/devel/build/deps/i/lib64&gt;libboost_log_setup-il140-mt-1_58.so.1.58.0 for lack of &lt;p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt&gt;libboost_log_setup-il140-mt-1_58.so.1.58.0... </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11200 Trac 1.4.3 Andrey Semashev Sat, 25 Apr 2015 20:21:20 GMT owner, component changed; cc set https://svn.boost.org/trac10/ticket/11200#comment:1 https://svn.boost.org/trac10/ticket/11200#comment:1 <ul> <li><strong>cc</strong> <span class="trac-author">Andrey.Semashev@…</span> added </li> <li><strong>owner</strong> changed from <span class="trac-author">Andrey Semashev</span> to <span class="trac-author">Thomas Heller</span> </li> <li><strong>component</strong> <span class="trac-field-old">log</span> → <span class="trac-field-new">phoenix</span> </li> </ul> <p> The problematic code is this: </p> <pre class="wiki">expressions::stream &lt;&lt; expressions::attr&lt; supported_types::type &gt;(name) </pre><p> This is a Boost.Phoenix expression (the stream and attr placeholders are from Boost.Log but they are Boost.Phoenix terminals). Since the code compiles with other compilers this may be a compiler issue, but I can't be sure as I'm not familiar with Boost.Phoenix implementation. I'll pass the ticket to Boost.Phoenix team and hope they can provide some insight on what's happening here. </p> <p> As for Boost.Log, I'll probably replace this expression with something simpler, just to reduce compile times. As a side effect this may also resolve the build failure. </p> Ticket matthieu.brucher@… Tue, 21 Jul 2015 15:39:57 GMT <link>https://svn.boost.org/trac10/ticket/11200#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11200#comment:2</guid> <description> <p> This may be related to: <a class="ext-link" href="https://software.intel.com/en-us/forums/topic/516083"><span class="icon">​</span>https://software.intel.com/en-us/forums/topic/516083</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>