[Rivet] compile error and patch: OSX 10.6.8 or more std C++ compiler

Andy Buckley andy.buckley at ed.ac.uk
Fri Mar 15 14:25:02 GMT 2013


Hi Will,

We've already solved this one on trunk... soon to be 1.8.3. Thanks
anyway :-)

We're currently debating whether or not we can add some other helper
functions for the b-tagging/decay lepton exclusion that we talked about,
so you *may* also get some of that functionality as a surprise gift in
1.8.3, if we can agree on the Right (TM) way to do it!

Andy


On 15/03/13 15:18, William Hamish Bell wrote:
> Hi,
> 
> Compilation of Rivet 1.8.2 fails on OSX 10.6.8:
> 
> [wbell at pb-d-128-141-35-96 ~]$ ./rivet-bootstrap --prefix="/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2" --with-gsl=/opt/local --with-boost=/opt/local
> Getting http://www.hepforge.org/archive/rivet/Rivet-1.8.2.tar.gz
> Not overwriting tarball at /Users/wbell/downloads/Rivet-1.8.2.tar.gz
> Configuring in /Users/wbell/build/Rivet-1.8.2: ./configure --prefix=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2  --with-lcgtag=i386-mac106-gcc42-opt --with-hepmc=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2 --with-boost=/opt/local --with-fastjet=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2 --disable-pdfmanual --with-gsl=/opt/local
> 
> Building in /Users/wbell/build/Rivet-1.8.2: make -j2 && make -j2 install
> Making all in src
> Making all in Core
>   CXX    libRivetCore_la-Jet.lo
>   CXX    libRivetCore_la-Event.lo
>   CXX    libRivetCore_la-Particle.lo
>   CXX    libRivetCore_la-ParticleName.lo
>   CXX    libRivetCore_la-ProjectionApplier.lo
>   CXX    libRivetCore_la-Projection.lo
>   CXX    libRivetCore_la-Analysis.lo
>   CXX    libRivetCore_la-AnalysisLoader.lo
>   CXX    libRivetCore_la-AnalysisInfo.lo
>   CXX    libRivetCore_la-AnalysisHandler.lo
>   CXX    libRivetCore_la-Run.lo
>   CXX    libRivetCore_la-ProjectionHandler.lo
>   CXX    libRivetCore_la-HistoHandler.lo
>   CXXLD  libRivetCore.la
> Making all in Projections
>   CXX    BeamThrust.lo
>   CXX    Beam.lo
>   CXX    ChargedFinalState.lo
>   CXX    ChargedLeptons.lo
>   CXX    CentralEtHCM.lo
>   CXX    ClusteredPhotons.lo
>   CXX    DISFinalState.lo
>   CXX    DISKinematics.lo
>   CXX    DISLepton.lo
>   CXX    FastJets.lo
>   CXX    FinalState.lo
>   CXX    FoxWolframMoments.lo
>   CXX    FParameter.lo
>   CXX    HadronicFinalState.lo
>   CXX    NonHadronicFinalState.lo
>   CXX    Hemispheres.lo
>   CXX    IdentifiedFinalState.lo
>   CXX    InitialQuarks.lo
>   CXX    InvMassFinalState.lo
>   CXX    JetAlg.lo
>   CXX    JetShape.lo
>   CXX    LeadingParticlesFinalState.lo
>   CXX    LeptonClusters.lo
>   CXX    MergedFinalState.lo
>   CXX    MissingMomentum.lo
>   CXX    Multiplicity.lo
>   CXX    NeutralFinalState.lo
>   CXX    ParisiTensor.lo
>   CXX    PVertex.lo
>   CXX    Sphericity.lo
>   CXX    Spherocity.lo
>   CXX    SVertex.lo
>   CXX    Thrust.lo
>   CXX    TotalVisibleMomentum.lo
>   CXX    TriggerCDFRun0Run1.lo
>   CXX    TriggerCDFRun2.lo
>   CXX    TriggerUA5.lo
>   CXX    UnstableFinalState.lo
>   CXX    VetoedFinalState.lo
>   CXX    VisibleFinalState.lo
>   CXX    WFinder.lo
>   CXX    ZFinder.lo
>   CXXLD  libRivetProjections.la
> Making all in Tools
> Making all in yaml-cpp
>   CXX    emitterstate.lo
>   CXX    aliascontent.lo
>   CXX    map.lo
>   CXX    parser.lo
>   CXX    scanscalar.lo
>   CXX    sequence.lo
>   CXX    stream.lo
>   CXX    parserstate.lo
>   CXX    scalar.lo
>   CXX    emitterutils.lo
>   CXX    iterator.lo
>   CXX    node.lo
>   CXX    scantag.lo
>   CXX    conversion.lo
>   CXX    null.lo
>   CXX    regex.lo
>   CXX    scanner.lo
>   CXX    simplekey.lo
>   CXX    tag.lo
>   CXX    emitter.lo
>   CXX    exp.lo
>   CXX    ostream.lo
>   CXX    scantoken.lo
>   CXXLD  libyaml-cpp.la
>   CXX    libRivetTools_la-Logging.lo
>   CXX    libRivetTools_la-RivetAIDA.lo
> In file included from ../../include/LWH/Histogram1D.h:10,
>                  from ../../include/LWH/HistogramFactory.h:9,
>                  from ../../include/LWH/AnalysisFactory.h:10,
>                  from RivetAIDA.cc:6:
> ../../include/LWH/Axis.h: In member function 'virtual int LWH::Axis::coordToIndex(double) const':
> ../../include/LWH/Axis.h:118: error: 'isnan' was not declared in this scope
>   CXX    libRivetTools_la-RivetPaths.lo
> ../../include/Rivet/Math/MathHeader.hh: At global scope:
> ../../include/Rivet/Math/MathHeader.hh:44: warning: 'Rivet::MAXINT' defined but not used
> make[3]: *** [libRivetTools_la-RivetAIDA.lo] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
> 
> --------------
> 
> where the gsl and boost libraries were make using macports.
> 
> The fix is very simple
> 
>     assert( ! std::isnan(coord) );
> 
> rather than
> 
>     assert( ! isnan(coord) );
> 
> In the C++ standard isnan should be inside std.  Therefore, the LINUX compiler gcc43 is just being sloppy.  Would it be possible to put this fix in?
> 
> Thanks and best regards,
> 
> Will
> _______________________________________________
> Rivet mailing list
> Rivet at projects.hepforge.org
> http://www.hepforge.org/lists/listinfo/rivet
> 


-- 
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Edinburgh

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.



More information about the Rivet mailing list