[Rivet] problem with yaml

Andy Buckley andy.buckley at ed.ac.uk
Mon Jan 31 15:21:22 GMT 2011


On 28/01/11 13:19, Robert King wrote:
> Hi,
> 
> I've been having problems installing Rivet, both on my department
> central machine, and on lxplus at CERN.
> 
> I configure with the following lines:
> 
>  ./configure
> --with-hepmc=/data/atlas/atlasdata3/king/HepSoftware/HepMC-2.04.02/install
> --with-boost-incpath=/data/atlas/atlasdata3/king/HepSoftware/RivetBootstrap/build/boost_1_44_0/ 
> --with-fastjet=/data/atlas/atlasdata3/king/HepSoftware/fastjet-2.4.2/install/
> --disable-pyext --prefix=$PWD
> 
> 'make' would then work correctly, but
> 
> 'make check'
> would then throw a errors regarding yaml:
> 
> make[4]: Entering directory
> `/afs/cern.ch/user/r/rking/scratch0/HepSoftware/Rivet-1.4.0/src/Tools/yaml-cpp
> <http://cern.ch/user/r/rking/scratch0/HepSoftware/Rivet-1.4.0/src/Tools/yaml-cpp>'
> terminate called after throwing an instance of 'YAML::BadDereference'
>   what():  yaml-cpp: error at line 0, column 0: bad dereference
> /bin/sh: line 5: 17488 Aborted                 ${dir}$tst
> FAIL: testYAML

Hi Robert,

Are you by any chance installing on top of a previous Rivet
installation, or for any other reason do you already have an
installation of yaml-cpp on your system.

Maybe it's not such a great idea, but to reduce build/install
dependencies, Rivet will install its bundled copy of yaml-cpp if it
doesn't find one in the configure stage. But we upgraded our bundled
version a couple of releases ago, such that a version previously bundled
& installed by an earlier Rivet version is no longer compatible. I'm not
sure how this goes wrong, since in theory it should have been safe, but
in practice it can screw up.

If this sounds familiar, please search for and remove any copies of
yaml-cpp in your install prefix area and then try
reconfiguring/reinstalling from scratch. Before that, though, you could
try explicitly cd'ing into the src/Tools/yaml-cpp directory in the Rivet
source tree and running "make install" in there. That should install the
new YAML version to $prefix, since the disabling of that install only
involves not telling the build Makefiles that that directory exists!

I hope that helps,
Andy

-- 
Dr Andy Buckley
SUPA Advanced Research Fellow
Particle Physics Experiment 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