Subject: [Boost-bugs] [Boost C++ Libraries] #9546: Compiling Boost.Log fails due to undeclared types in format_parser.cpp (a.o.)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-01-06 13:54:09
#9546: Compiling Boost.Log fails due to undeclared types in format_parser.cpp
(a.o.)
-------------------------------------------+---------------------
Reporter: Torbjörn Klatt <opensource@â¦> | Owner: andysem
Type: Bugs | Status: new
Milestone: To Be Determined | Component: log
Version: Boost Development Trunk | Severity: Problem
Keywords: |
-------------------------------------------+---------------------
Building Boost.Log of current develop branch (i.e. trunk) fails due to
undeclared types in format_parser.cpp (amongst others) with references to
Boost.Spirit.
I'm using the following command for building with GCC 4.8:
{{{
./b2 --prefix=$HOME/src/boost/dist/dev
--stagedir=$HOME/src/boost/stage/dev --build-dir=/tmp/boost
--layout=versioned -j8 -d+2 -d+4 -q cxxflags=-std=c++11 variant=debug
link=static runtime-link=static threading=single -a --reconfigure stage
}}}
The first error I encounter is the following. For the full build log for
Boost.Log and subsequent errors see attached file.
{{{
gcc.compile.c++ /tmp/boost/boost/bin.v2/libs/log/build/gcc-4.8/debug/link-
static/log-api-unix/runtime-link-static/format_parser.o
"g++-4.8" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fno-strict-
aliasing -ftemplate-depth-1024 -std=c++11 -DBOOST_ALL_NO_LIB=1
-DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1
-DBOOST_LOG_NO_THREADS -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_STATIC_LINK=1
-DBOOST_THREAD_DONT_USE_CHRONO=1 -DDATE_TIME_INLINE -I"." -c -o
"/tmp/boost/boost/bin.v2/libs/log/build/gcc-4.8/debug/link-static/log-api-
unix/runtime-link-static/format_parser.o" "libs/log/src/format_parser.cpp"
In file included from ./boost/spirit/home/support/string_traits.hpp:16:0,
from
./boost/spirit/home/support/nonterminal/expand_arg.hpp:20,
from ./boost/spirit/home/support/context.hpp:18,
from ./boost/spirit/home/qi/domain.hpp:18,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/container.hpp:74:65: error:
âBOOST_SPIRIT_IS_CONTAINERâ was not declared in this scope
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/container.hpp:74:92: error: â_â was not
declared in this scope
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/container.hpp:74:92: note: suggested
alternatives:
In file included from ./boost/mpl/aux_/include_preprocessed.hpp:37:0,
from ./boost/mpl/placeholders.hpp:43,
from ./boost/mpl/apply.hpp:24,
from ./boost/mpl/aux_/fold_impl.hpp:19,
from ./boost/mpl/fold.hpp:20,
from
./boost/fusion/sequence/intrinsic/detail/segmented_size.hpp:12,
from ./boost/fusion/sequence/intrinsic/size.hpp:16,
from ./boost/fusion/view/joint_view/joint_view.hpp:15,
from
./boost/fusion/algorithm/transformation/push_back.hpp:11,
from
./boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:19,
from
./boost/fusion/view/iterator_range/detail/segments_impl.hpp:13,
from
./boost/fusion/view/iterator_range/iterator_range.hpp:21,
from ./boost/fusion/view/iterator_range.hpp:10,
from
./boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:12,
from ./boost/fusion/sequence/intrinsic/begin.hpp:17,
from ./boost/fusion/iterator/segmented_iterator.hpp:12,
from
./boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:11,
from ./boost/fusion/sequence/intrinsic/end.hpp:17,
from ./boost/fusion/sequence/intrinsic/back.hpp:11,
from ./boost/fusion/sequence/intrinsic.hpp:11,
from ./boost/fusion/include/intrinsic.hpp:10,
from ./boost/proto/fusion.hpp:22,
from ./boost/proto/core.hpp:21,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
typedef arg< -1 > _;
^
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
In file included from ./boost/proto/core.hpp:22:0,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/proto/matches.hpp:563:12: note: âboost::proto::_â
struct _ : transform<_>
^
In file included from ./boost/mpl/aux_/include_preprocessed.hpp:37:0,
from ./boost/mpl/placeholders.hpp:43,
from ./boost/mpl/apply.hpp:24,
from ./boost/mpl/aux_/fold_impl.hpp:19,
from ./boost/mpl/fold.hpp:20,
from
./boost/fusion/sequence/intrinsic/detail/segmented_size.hpp:12,
from ./boost/fusion/sequence/intrinsic/size.hpp:16,
from ./boost/fusion/view/joint_view/joint_view.hpp:15,
from
./boost/fusion/algorithm/transformation/push_back.hpp:11,
from
./boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:19,
from
./boost/fusion/view/iterator_range/detail/segments_impl.hpp:13,
from
./boost/fusion/view/iterator_range/iterator_range.hpp:21,
from ./boost/fusion/view/iterator_range.hpp:10,
from
./boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:12,
from ./boost/fusion/sequence/intrinsic/begin.hpp:17,
from ./boost/fusion/iterator/segmented_iterator.hpp:12,
from
./boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:11,
from ./boost/fusion/sequence/intrinsic/end.hpp:17,
from ./boost/fusion/sequence/intrinsic/back.hpp:11,
from ./boost/fusion/sequence/intrinsic.hpp:11,
from ./boost/fusion/include/intrinsic.hpp:10,
from ./boost/proto/fusion.hpp:22,
from ./boost/proto/core.hpp:21,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
typedef arg< -1 > _;
^
In file included from ./boost/spirit/home/support/string_traits.hpp:16:0,
from
./boost/spirit/home/support/nonterminal/expand_arg.hpp:20,
from ./boost/spirit/home/support/context.hpp:18,
from ./boost/spirit/home/qi/domain.hpp:18,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/container.hpp:74:93: error: there are no
arguments to âBOOST_PP_REPEAT_1_BOOST_VARIANT_LIMIT_TYPESâ that depend on
a template parameter, so a declaration of
âBOOST_PP_REPEAT_1_BOOST_VARIANT_LIMIT_TYPESâ must be available
[-fpermissive]
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/container.hpp:74:93: note: (if you use
â-fpermissiveâ, G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
./boost/spirit/home/support/container.hpp:74:15: error: parse error in
template argument list
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
In file included from ./boost/spirit/home/support/attributes.hpp:20:0,
from ./boost/spirit/home/qi/detail/attributes.hpp:12,
from ./boost/spirit/home/qi/auxiliary/lazy.hpp:17,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:16,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/detail/as_variant.hpp:39:29: error: wrong
number of template arguments (0, should be 1 or more)
typedef variant<> type;
^
In file included from ./boost/variant/variant.hpp:28:0,
from ./boost/spirit/home/support/info.hpp:14,
from ./boost/spirit/home/qi/domain.hpp:16,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/variant/variant_fwd.hpp:288:48: error: provided for
âtemplate<class T0, class ... TN> class boost::variantâ
template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
^
In file included from
./boost/preprocessor/iteration/detail/iter/reverse1.hpp:1294:0,
from
./boost/preprocessor/iteration/detail/iter/forward1.hpp:43,
from
./boost/spirit/home/support/detail/as_variant.hpp:57,
from ./boost/spirit/home/support/attributes.hpp:20,
from ./boost/spirit/home/qi/detail/attributes.hpp:12,
from ./boost/spirit/home/qi/auxiliary/lazy.hpp:17,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:16,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/detail/as_variant.hpp:91:12: error:
redefinition of âstruct boost::spirit::detail::as_variant_impl<0>â
struct as_variant_impl<N>
^
In file included from ./boost/spirit/home/support/attributes.hpp:20:0,
from ./boost/spirit/home/qi/detail/attributes.hpp:12,
from ./boost/spirit/home/qi/auxiliary/lazy.hpp:17,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:16,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/detail/as_variant.hpp:34:12: error: previous
definition of âstruct boost::spirit::detail::as_variant_impl<0>â
struct as_variant_impl<0>
^
In file included from ./boost/spirit/home/qi/detail/attributes.hpp:12:0,
from ./boost/spirit/home/qi/auxiliary/lazy.hpp:17,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:16,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/attributes.hpp:218:64: error:
âBOOST_SPIRIT_IS_WEAK_SUBSTITUTEâ was not declared in this scope
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/attributes.hpp:218:97: error: â_â was not
declared in this scope
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/attributes.hpp:218:97: note: suggested
alternatives:
In file included from ./boost/mpl/aux_/include_preprocessed.hpp:37:0,
from ./boost/mpl/placeholders.hpp:43,
from ./boost/mpl/apply.hpp:24,
from ./boost/mpl/aux_/fold_impl.hpp:19,
from ./boost/mpl/fold.hpp:20,
from
./boost/fusion/sequence/intrinsic/detail/segmented_size.hpp:12,
from ./boost/fusion/sequence/intrinsic/size.hpp:16,
from ./boost/fusion/view/joint_view/joint_view.hpp:15,
from
./boost/fusion/algorithm/transformation/push_back.hpp:11,
from
./boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:19,
from
./boost/fusion/view/iterator_range/detail/segments_impl.hpp:13,
from
./boost/fusion/view/iterator_range/iterator_range.hpp:21,
from ./boost/fusion/view/iterator_range.hpp:10,
from
./boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:12,
from ./boost/fusion/sequence/intrinsic/begin.hpp:17,
from ./boost/fusion/iterator/segmented_iterator.hpp:12,
from
./boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:11,
from ./boost/fusion/sequence/intrinsic/end.hpp:17,
from ./boost/fusion/sequence/intrinsic/back.hpp:11,
from ./boost/fusion/sequence/intrinsic.hpp:11,
from ./boost/fusion/include/intrinsic.hpp:10,
from ./boost/proto/fusion.hpp:22,
from ./boost/proto/core.hpp:21,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
typedef arg< -1 > _;
^
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
In file included from ./boost/proto/core.hpp:22:0,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/proto/matches.hpp:563:12: note: âboost::proto::_â
struct _ : transform<_>
^
In file included from ./boost/mpl/aux_/include_preprocessed.hpp:37:0,
from ./boost/mpl/placeholders.hpp:43,
from ./boost/mpl/apply.hpp:24,
from ./boost/mpl/aux_/fold_impl.hpp:19,
from ./boost/mpl/fold.hpp:20,
from
./boost/fusion/sequence/intrinsic/detail/segmented_size.hpp:12,
from ./boost/fusion/sequence/intrinsic/size.hpp:16,
from ./boost/fusion/view/joint_view/joint_view.hpp:15,
from
./boost/fusion/algorithm/transformation/push_back.hpp:11,
from
./boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:19,
from
./boost/fusion/view/iterator_range/detail/segments_impl.hpp:13,
from
./boost/fusion/view/iterator_range/iterator_range.hpp:21,
from ./boost/fusion/view/iterator_range.hpp:10,
from
./boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:12,
from ./boost/fusion/sequence/intrinsic/begin.hpp:17,
from ./boost/fusion/iterator/segmented_iterator.hpp:12,
from
./boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:11,
from ./boost/fusion/sequence/intrinsic/end.hpp:17,
from ./boost/fusion/sequence/intrinsic/back.hpp:11,
from ./boost/fusion/sequence/intrinsic.hpp:11,
from ./boost/fusion/include/intrinsic.hpp:10,
from ./boost/proto/fusion.hpp:22,
from ./boost/proto/core.hpp:21,
from ./boost/proto/proto.hpp:12,
from ./boost/spirit/home/support/meta_compiler.hpp:19,
from ./boost/spirit/home/qi/domain.hpp:15,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:13,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:14:19: note:
âmpl_::_â
typedef arg< -1 > _;
^
In file included from ./boost/spirit/home/qi/detail/attributes.hpp:12:0,
from ./boost/spirit/home/qi/auxiliary/lazy.hpp:17,
from ./boost/spirit/home/qi/detail/enable_lit.hpp:16,
from ./boost/spirit/home/qi/numeric/uint.hpp:17,
from ./boost/spirit/include/qi_uint.hpp:16,
from libs/log/src/format_parser.cpp:22:
./boost/spirit/home/support/attributes.hpp:218:98: error: there are no
arguments to âBOOST_PP_REPEAT_1_BOOST_VARIANT_LIMIT_TYPESâ that depend on
a template parameter, so a declaration of
âBOOST_PP_REPEAT_1_BOOST_VARIANT_LIMIT_TYPESâ must be available
[-fpermissive]
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
./boost/spirit/home/support/attributes.hpp:218:14: error: parse error in
template argument list
: mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
^
0.000016 sec system; 0.000396 sec user
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9546> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC