boost
boost copied to clipboard
spirit utree does not work anymore
I have a huge parser made with spirit and utree which is working well for quite a long time. Since boost 1.72 (I think), it does not compile anymore (not better with 1.74). I did not change my code. Just a Boost update from my Linux distro (gentoo). Here is the cryptic message. I hope you can be of any help. Here is the error message with Boost-1.74:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/strategy-spirit-5.5.0.dir/runstrategyelementvisitors.cpp.o: in function boost::spirit::utree boost::spirit::function_impl_invert::eval<bool>(bool const&)': /usr/include/boost/spirit/home/support/utree/operators.hpp:545: multiple definition of
boost::spirit::utree boost::spirit::function_impl_invert::evalboost::spirit::utree boost::spirit::function_impl_invert::eval<bool>(bool const&)': /usr/include/boost/spirit/home/support/utree/operators.hpp:545: multiple definition of
boost::spirit::utree boost::spirit::function_impl_invert::evalboost::spirit::utree boost::spirit::function_impl_invert::eval<bool>(bool const&)': /usr/include/boost/spirit/home/support/utree/operators.hpp:545: multiple definition of
boost::spirit::utree boost::spirit::function_impl_invert::evalboost::spirit::utree boost::spirit::function_impl_invert::eval<bool>(bool const&)': /usr/include/boost/spirit/home/support/utree/operators.hpp:545: multiple definition of
boost::spirit::utree boost::spirit::function_impl_invert::eval
Best, Bruno
This is a bug introduced in Spirit utree in Boost 1.74, is now fixed, see https://github.com/boostorg/spirit/issues/638