Problems with boost tokenizing since CMSSW_7_4_11

Hi,

I am using

#include <boost/algorithm/string.hpp>
std::string line = "some line";

std::vector<std::string> tokens;
auto anyof = boost::is_any_of("\t ");
boost::split(tokens, line, anyof);

in a macro. Since CMSSW_7_4_11, the macro crashes with the following message:

In file included from input_line_24:1: In file included from /cms/thomassen/2015/Analysis/1016_seesaw/SeesawInclusiveBins.C:3: In file included from /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/boost/1.57.0-jlbgio/include/boost/algorithm/string.hpp:19: In file included from /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/boost/1.57.0-jlbgio/include/boost/algorithm/string/trim.hpp:19: /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/boost/1.57.0-jlbgio/include/boost/range/as_literal.hpp:86:20: error: invalid use of incomplete type 'iterator_range<const char *>' return iterator_range<T*>( r, r + length(r) ); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/boost/1.57.0-jlbgio/include/boost/range/iterator_range_core.hpp:433:15: note: definition of 'boost::iterator_range<const char *>' is not complete until the closing '}' class iterator_range ^ IncrementalExecutor::executeFunction: symbol '_ZN5boost10as_literalIcLm3EEENS_14iterator_rangeIPKT_EERAT0__S3_' unresolved while linking function'_Z15__cling_Un1Qu30Pv'!

The crash is caused by the is_any_of line, i.e. it also occurs when commenting the last line.

Before CMSSW_7_4_11, this worked fine. What can I do to make it work again?

Thanks,
Peter

Can you please translate for us the version of ROOT used in CMSSW_7_4_11 and before.

Did you change the version of boost with this version of CMSSW?

Hi,

It is ROOT 6.02/05 in both cases. I did not do anything special about ROOT.

Will it be better to inquire with the CMSSW people? It could be a problem related to the boost packaging, e.g.

Thanks,
Peter