[Rivet] Rivet on MAC

Juergen Reuter juergen.reuter at desy.de
Mon Feb 6 13:46:59 GMT 2012


On Monday 06 February 2012 11:21:24 Andy Buckley wrote:
> Hi Juergen,
> 
> We've been trying to look into this but suspect that it's a result of a
> compiler change in OS X 10.7 to the LLVM/clang suite. My attempts to use
> clang on Linux were rather abortive in the past, since it borked on the
> C++ std libraries, and none of us have an OS X Lion system to test on.
> Sorry, we'll try to get it sorted... any more info that you happen to
> have would be very useful: we try to support Macs, but can't do so as
> robustly as for Linux, especially since they keep changing things!
> 
> Andy
> 

Hi Andy, 
sure, I mean Rivet works on the DESY Cluster, thats the most important thing.
The MAC book is not so important. I fear, that below is more or less all the 
information I could give you unfortunately.
Cheers,
	JRR

> On 15/01/12 21:40, Juergen Reuter wrote:
> > Hi David,
> > I think you already have some tickets concerning Rivet under MAC OS X,
> > but nevertheless I summarize
> > my problems here:
> > *****
> > 1) even when configured with --without-yaml_cpp, as soon as the yaml_cpp
> > lib and headers are installed,
> > I get this error in AnalysisInfo. Uninstalling yaml_cpp (v0.2.6) solves
> > the problem.
> > CXX libRivetCore_la-AnalysisInfo.lo
> > AnalysisInfo.cc: In static member function ‘static Rivet::AnalysisInfo*
> > Rivet::AnalysisInfo::make(const string&)’:
> > AnalysisInfo.cc:67:28: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:67:41: error: ‘CT_SCALAR’ is not a member of ‘YAML’
> > AnalysisInfo.cc:68:28: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:68:41: error: ‘CT_SCALAR’ is not a member of ‘YAML’
> > AnalysisInfo.cc:77:25: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:77:38: error: ‘CT_SCALAR’ is not a member of ‘YAML’
> > AnalysisInfo.cc:78:25: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:78:38: error: ‘CT_SCALAR’ is not a member of ‘YAML’
> > AnalysisInfo.cc:94:21: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:94:34: error: ‘CT_SCALAR’ is not a member of ‘YAML’
> > AnalysisInfo.cc:99:28: error: ‘const class YAML::Node’ has no member
> > named ‘GetType’
> > AnalysisInfo.cc:99:41: error: ‘CT_SEQUENCE’ is not a member of ‘YAML’
> > ../../include/Rivet/Math/MathHeader.hh: At global scope:
> > ../../include/Rivet/Math/MathHeader.hh:42:16: warning: ‘Rivet::MAXINT’
> > defined but not used [-Wunused-variable]
> > *****
> > 2) When compiling the OPAL2004 Analysis I get the following error:
> > CXX OPAL_2004_S6132243.lo
> > OPAL_2004_S6132243.cc: In member function ‘virtual void
> > Rivet::OPAL_2004_S6132243::analyze(const Rivet::Event&)’:
> > OPAL_2004_S6132243.cc:167:25: error: ‘isnan’ was not declared in this
> > scope OPAL_2004_S6132243.cc:167:25: note: suggested alternatives:
> > /usr/local/lib/gcc/x86_64-apple-darwin11.2.0/4.6.2/../../../../include/c+
> >+/4.6.2/cmath:768:5: note: ‘std::isnan’
> > /opt/local/include/boost/math/special_functions/fpclassify.hpp:515:25:
> > note: ‘boost::math::isnan’
> > ../../include/Rivet/Math/MathHeader.hh: At global scope:
> > ../../include/Rivet/Math/MathHeader.hh:42:16: warning: ‘Rivet::MAXINT’
> > defined but not used [-Wunused-variable]
> >
> > There is still a TODO in your code ;) but commenting out the isnan catch
> > solves the problem.
> > This is funny because the file cmath which contains the isnan is
> > identical to the one on a Linux machine (same gcc) where
> > I do not have a problem.
> > *****
> > 3) Next thing is that Rivet tries to compile itself in the (almost)
> > final step with clang(++) under MAC which utterly
> > (cf. extra file attached). This seems to be hard-coded. If I set a sym
> > link forcing clang to be gcc and clang++ to be
> > g++ it works.
> > *****
> > 4) There is also a problem in doc:
> > LD_LIBRARY_PATH=../src/.libs:/usr/local/lib:/usr/local/lib: \
> > DYLD_LIBRARY_PATH=../src/.libs:/usr/local/lib:/usr/local/lib: \
> > RIVET_INFO_PATH=../data/anainfo \
> > /opt/local/bin/python mk-analysis-latex
> > Traceback (most recent call last):
> > File "mk-analysis-latex", line 43, in <module>
> > import rivet
> > File
> > "/usr/local/packages/Rivet-1.7.0/pyext/build/lib.macosx-10.7-x86_64-2.7/r
> >ivet/__init__.py", line 16, in <module>
> > from rivetwrap import *
> > File
> > "/usr/local/packages/Rivet-1.7.0/pyext/build/lib.macosx-10.7-x86_64-2.7/r
> >ivet/rivetwrap.py", line 26, in <module>
> > _rivetwrap = swig_import_helper()
> > File
> > "/usr/local/packages/Rivet-1.7.0/pyext/build/lib.macosx-10.7-x86_64-2.7/r
> >ivet/rivetwrap.py", line 22, in swig_import_helper
> > _mod = imp.load_module('_rivetwrap', fp, pathname, description)
> > ImportError:
> > dlopen(/usr/local/packages/Rivet-1.7.0/pyext/build/lib.macosx-10.7-x86_64
> >-2.7/rivet/_rivetwrap.so, 10): Library not loaded:
> > /usr/local/lib/libyaml-cpp.0.dylib
> > Referenced from:
> > /usr/local/packages/Rivet-1.7.0/src/.libs/libRivet.10.dylib
> > Reason: image not found
> >
> > Due to some reason, Rivet/dlopen believes to depend on some libraries in
> > /usr/local which do not exist!? This only happens for
> > libyaml_cpp. Problem here is that the package to be installed on MAC OS
> > X Lion only contains the static build, but Rivet demands
> > for the dynamic build. I solved the problem by manually copying
> > src/Tools/yaml-cpp/.libs/libyaml-cpp.0.dylib to $(prefix)/lib.
> >
> > Then Rivet compiled (!).
> > But running it immediatly gave a Python runtime error, I'm using Python
> > 2.7. :(((
> > I attached the crash report.
> > So I guess, it runs on Scientific Linux, but on my laptop is not usable.
> > Cheers,
> > JRR
> 

-- 
-------------------------------------
Juergen Reuter	
*****
DESY Theory Group
Notkestrasse 85
D-22603 Hamburg
Phone: +49 (0)40 8998-3895
Fax  : +49 (0)40 8998-2777

*****
Skype: jr_reuter
-------------------------------------
 


More information about the Rivet mailing list