|
[Rivet] compile error and patch: OSX 10.6.8 or more std C++ compilerWilliam Hamish Bell w.bell at cern.chFri Mar 15 14:58:31 GMT 2013
Hi Andy, It looks like a "make clean" and then "make" with a single thread is enough to avoid the linking error. Regards, Will On Mar 15, 2013, at 3:35 PM, wrote: > Hi Andy, > > Is > > Making all in . > CCLD libRivet.la > ld: duplicate symbol Rivet::BinnedHistogram<double>::BinnedHistogram()in Tools/.libs/libRivetTools.a(lt1-libRivetTools_la-BinnedHistogram.o) and Tools/.libs/libRivetTools.a(libRivetTools_la-BinnedHistogram.o) > collect2: ld returned 1 exit status > make[2]: *** [libRivet.la] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all-recursive] Error 1 > > also solved in the trunk? (OSX linking error once the compile error previously mentioned is fixed.) > > Thanks and best regards, > > Will > > On Mar 15, 2013, at 3:25 PM, Andy Buckley wrote: > >> 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 |