[CMake] cotire and BOOST_PP error
Olaf Peter
ope-devel at gmx.de
Sun Jun 11 11:51:29 EDT 2017
Hello,
to reduce my compile time I try to start with cotire (compile time
reducer) from https://github.com/sakra/cotire and run into problems
which I wasn't able to reduce yet. I'm using boost spirit and
boost.test. The error rises:
[ 62%] Building CXX precompiled header
sources/...._parser_CXX_prefix.hxx.gch
In file included from /tmp/build/sources/..._parser_CXX_prefix.cxx:38:0,
from /tmp/build/sources/..._parser_CXX_prefix.hxx:4:
/usr/include/boost/preprocessor/iteration/detail/local.hpp:13:6: Fehler:
#error BOOST_PP_ERROR: local iteration boundaries are not defined
# error BOOST_PP_ERROR: local iteration boundaries are not defined
^~~~~
/usr/include/boost/preprocessor/iteration/detail/local.hpp:34:29:
Fehler: expected constructor, destructor, or type conversion before »(«
token
BOOST_PP_LOCAL_MACRO(0)
^
CMake Error at /tmp/ibis/cmake/cotire.cmake:1848 (message):
cotire: error 1 precompiling
/tmp/build/sources/..._parser_CXX_prefix.hxx.
Call Stack (most recent call first):
/tmp/ibis/cmake/cotire.cmake:3521 (cotire_precompile_prefix_header)
The calc9 example from boost.spirit.x3 compiles with cotire and an intro
example from boost.test also, but failed here. Maybe helpful:
$ cat /tmp/build/sources/..._parser_CXX_prefix.hxx
/* cotire.cmake 1.7.9 generated file */
/* /tmp/build/sources/..._parser_CXX_prefix.hxx */
#ifdef __cplusplus
#include "/tmp/build/sources/..._parser_CXX_prefix.cxx"
#endif
$ cat /tmp/build/...parser_CXX_prefix.cxx
/* cotire.cmake 1.7.9 generated file */
/* /tmp/build/sources/...parser_CXX_prefix.cxx */
#pragma GCC system_header
#ifdef __cplusplus
#include "/usr/include/boost/test/unit_test.hpp"
#include "/usr/include/boost/test/data/test_case.hpp"
#include "/usr/include/boost/filesystem.hpp"
#include "/usr/local/gcc-7.1.0/include/c++/7.1.0/iostream"
#include "/usr/include/boost/core/ignore_unused.hpp"
#include "/usr/include/boost/range.hpp"
#include "/usr/include/boost/variant.hpp"
#include "/usr/include/boost/fusion/include/adapt_struct.hpp"
#include "/usr/include/boost/fusion/support/pair.hpp"
#include "/usr/include/boost/fusion/include/deque.hpp"
#include "/usr/include/boost/tti/has_type.hpp"
#include "/usr/include/boost/tti/has_member_function.hpp"
#include "/usr/include/boost/fusion/include/copy.hpp"
#include "/usr/include/boost/fusion/include/is_sequence.hpp"
#include "/usr/include/boost/fusion/include/size.hpp"
#include "/usr/include/boost/fusion/include/map.hpp"
#include "/usr/include/boost/fusion/include/value_at_key.hpp"
#include "/usr/include/boost/fusion/adapted/mpl.hpp"
#include "/usr/include/boost/mpl/placeholders.hpp"
#include "/usr/include/boost/mpl/filter_view.hpp"
#include "/usr/include/boost/mpl/count_if.hpp"
#include "/usr/include/boost/fusion/include/front.hpp"
#include "/usr/include/boost/fusion/include/move.hpp"
#include "/usr/include/boost/fusion/include/back.hpp"
#include "/usr/include/boost/type_traits/extent.hpp"
#include "/usr/include/boost/cstdint.hpp"
#include "/usr/include/boost/regex/pending/unicode_iterator.hpp"
#include "/usr/local/gcc-7.1.0/include/c++/7.1.0/bitset"
#include "/usr/local/gcc-7.1.0/include/c++/7.1.0/climits"
#include "/usr/local/gcc-7.1.0/include/c++/7.1.0/cctype"
#include "/usr/local/gcc-7.1.0/include/c++/7.1.0/cwctype"
#include "/usr/include/boost/function_types/function_type.hpp"
#include "/usr/include/boost/preprocessor/iteration/local.hpp"
#include "/usr/include/boost/preprocessor/iteration/detail/local.hpp"
#include "/usr/include/boost/config/no_tr1/cmath.hpp"
#include "/usr/include/boost/math/special_functions/fpclassify.hpp"
#include "/usr/include/boost/math/special_functions/sign.hpp"
#include "/usr/include/boost/fusion/include/begin.hpp"
#include "/usr/include/boost/fusion/include/end.hpp"
#include "/usr/include/boost/fusion/include/advance.hpp"
#include "/usr/include/boost/fusion/include/empty.hpp"
#include "/usr/include/boost/fusion/include/iterator_range.hpp"
#include "/usr/include/boost/fusion/include/as_deque.hpp"
#include "/usr/include/boost/fusion/include/mpl.hpp"
#include "/usr/include/boost/mpl/copy_if.hpp"
#include "/usr/include/boost/fusion/include/at.hpp"
#include "/usr/include/boost/locale/encoding_utf.hpp"
#include "/usr/include/boost/test/output_test_stream.hpp"
#include "/usr/include/boost/test/included/unit_test.hpp"
#endif
Maybe here are some with experience with it since without cotire I
didn't face such problem.
Thanks,
Olaf
More information about the CMake
mailing list