|
[Rivet] Rivet boost::BOOST_FOREACHAndrii Verbytskyi andrii.verbytskyi at desy.deTue Aug 4 13:05:45 BST 2015
Dear Andy, I just tried to compile 2.* versions of Rivet on CentOS 7/gcc4.8.3/boost1.53. All those attempts failed, the compiler doesn't accept the Rivet code: ---------------------------------------------------------------------- CXX libRivetCore_la-Run.lo In file included from ../../include/Rivet/Run.hh:5:0, from Run.cc:2: ../../include/Rivet/Tools/RivetBoost.hh:16:36: error: declaration of namespace 'boost::BOOST_FOREACH' conflicts with namespace BOOST_FOREACH = foreach; ^ In file included from /usr/include/boost/foreach.hpp:89:0, from ../../include/Rivet/Tools/RivetBoost.hh:12, from ../../include/Rivet/Run.hh:5, from Run.cc:2: /usr/include/boost/foreach_fwd.hpp:56:1: error: previous declaration of namespace 'boost::BOOST_FOREACH' here { ^ In file included from ../../include/Rivet/Math/MathUtils.hh:5:0, from ../../include/Rivet/Math/Math.hh:5, from ../../include/Rivet/Tools/Utils.hh:5, from ../../include/Rivet/Config/RivetCommon.hh:26, from ../../include/Rivet/AnalysisHandler.hh:5, from Run.cc:3: ../../include/Rivet/Math/MathHeader.hh:45:16: warning: 'Rivet::MAXINT' defined but not used [-Wunused-variable] const double MAXINT = std::numeric_limits<int>::max(); ---------------------------------------------------------------------- It looks the reason is a well known (since 4 years!) BOOST bug. 1) Which compilers do you use for tests, i.e. with which compiler Rivet will work? 2) Has anyone tried to compile Rivet with (new)gcc? 3) Is it possible to drop that construction from Rivet? It looks it doesn't appear too often in the code and when it does the replacement is obvious. Best regards, Andrii On Fri, 2014-12-05 at 14:10 +0100, Andrii Verbytskyi wrote: > Hi, > yes, environment variables are working, however passing arguments via > environment variables is implicit way and implicit way is worse that > explicit. Also, in many cases environment variables will make things > less convenient or even defunct. A good example is using rivet > from a Makefile. One can say the same about using rivet in system() and > so on. Also, the way of setting environment variables depends on shell > --> less convenient usage of rivet even from shell. > > > Best regards, > Andrii > > > > On Fri, 2014-12-05 at 13:00 +0000, Andy Buckley wrote: > > Hi Andrii, > > > > Don't the environment variables work for these? --analysis-path is just > > syntactic sugar for those, and to be honest I was considering removing > > it to clean up the command-line interface! > > > > Andy > > > > > > On 05/12/14 12:44, Andrii Verbytskyi wrote: > > > Dear Andy, > > > here are some (hopefully useful) improvements for Rivet. > > > > > > In addition to --analysis-path I think it would be useful to have > > > > > > --ref-path, --info-path, --plot-path. > > > > > > > > > So here are the files with the changes. Please note that rivet should be > > > generated from rivet.in with a substitution of install paths. > > > > > > Best regards, > > > Andrii > > > > > > > > >
More information about the Rivet mailing list |