[Rivet] faild to compile rivet on slc6 @ lxplus

Andy Buckley andy.buckley at cern.ch
Mon Dec 15 16:34:10 GMT 2014


On 15/12/14 16:19, Heiner Wollny wrote:
> Dear Rivet developers,

Hi Heiner,

> I would like to create a rivet analysis. I followed the instructions on
> your web page for `Repository access for developers/contributors'.

The clue is in the title -- repository access is intended for Rivet
developers, not general users. For writing analysis code (which doesn't
require modifying Rivet) you should use a pre-existing installation or
build from a tarball instead.

> I tried to configure and to compile on lxplus under slc6.
> I encountered the following error message:
> 
> Not (re)generating core.cpp since Cython is not installed
> rm -f fix-out-of-source
> for i in __init__.py util.py plotinfo.py spiresbib.py core.pyx rivet.pxd
> core.cpp; do \
>           orig="$i"; \
>           build="$(basename $i)"; \
>           if [ ! -e ${build} ]; then cp ${orig} ${build}; \
>           echo ${build} >> fix-out-of-source; fi; \
>         done
> cp: cannot stat `core.cpp': No such file or directory
> touch fix-out-of-source
> make[2]: Leaving directory
> `/afs/cern.ch/user/h/hwollny/soft/rivet2/rivet/pyext/rivet'
> make[2]: Entering directory
> `/afs/cern.ch/user/h/hwollny/soft/rivet2/rivet/pyext'
> CC="gcc"
> CXX="/afs/cern.ch/sw/lcg/contrib/gcc/4.6.2/x86_64-slc6-gcc46-opt/bin/g++" CXXFLAGS="-Wno-unused-but-set-variable
> -Wno-sign-compare" ARCHFLAGS="" /usr/bin/python setup.py install
> --install-lib=build/ --force
> running install
> running build
> running build_py
> creating build
> creating build/lib.linux-x86_64-2.6
> creating build/lib.linux-x86_64-2.6/rivet
> copying rivet/__init__.py -> build/lib.linux-x86_64-2.6/rivet
> copying rivet/plotinfo.py -> build/lib.linux-x86_64-2.6/rivet
> copying rivet/spiresbib.py -> build/lib.linux-x86_64-2.6/rivet
> copying rivet/util.py -> build/lib.linux-x86_64-2.6/rivet
> running build_ext
> building 'rivet.core' extension
> creating build/temp.linux-x86_64-2.6
> creating build/temp.linux-x86_64-2.6/rivet
> gcc -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
> -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC
> -fwrapv -fPIC -I/afs/cern.ch/user/h/hwollny/soft/rivet2/rivet/include
> -Irivet -I/usr/include/python2.6 -c rivet/core.cpp -o
> build/temp.linux-x86_64-2.6/rivet/core.o
> -I/afs/cern.ch/user/h/hwollny/soft/RIVET3/include
> -I/afs/cern.ch/sw/lcg/external/Boost/1.50.0_python2.7/x86_64-slc6-gcc46-opt/include/boost-1_50
> -Wno-unused-but-set-variable -Wno-sign-compare
> -I/afs/cern.ch/sw/lcg/external/HepMC/2.06.08/x86_64-slc6-gcc46-opt/include
> -I/afs/cern.ch/sw/lcg/external/fastjet/2.4.4/x86_64-slc6-gcc46-opt/include
> -I/afs/cern.ch/user/h/hwollny/soft/RIVET/local/include -I/usr/include
> gcc: error: rivet/core.cpp: No such file or directory
> gcc: fatal error: no input files
> compilation terminated.
> 
> On lxplus cython version 0.14.1 is installed, which I guess is too old.

Exactly.

> The file core.cpp is not created but requested in the following leading
> to the above error message. I tried to remove core.cpp from the variable
> EXTRA_DIST, however the last error message remains, as in setup.py
> core.cpp is also requested.
> 
> It would be great if you could help me.

You would need to manually install a new version of Cython. But better
is to build from a tarball, which includes those Cython-generated files,
and doesn't require Cython in order to build.

> PS: I stumbled also on the following problems, which however I could
> work around by myself:
> 
> 1.) Where shall one get the YODA library? My workaround was to install
> rivet using the rivet-bootstrap script and set the YODA variables to
> this installation path.

You can install it yourself, e.g. from the tarballs on the YODA website.
Or use a pre-existing installation, like the ones in the LCG AFS areas
(for official LCG platforms).

> 2.) there is a problem in the configure file when checking/setting the
> YODAINCPATH variable.
> The option `--with-yoda-incpath=` is not respected. Even exporting the
> variable YODAINCPATH is not working. I hacked a lazy work around by
> writing before the last if query (line 16630): pkgpath=$YODAINCPATH

Hmm, strange. I'll look into that.

> 3.) I tried to link against FastJet version 3.3.3. However at compile
> time I get the error message that -lSISConePlugin is not found (needed
> for RivetALICEAnalyses.la). I guess the check for this lib is missing in
> the configure script. I downgraded to FastJet version 2.4.4 where this
> library is still present.
> However, other errors show up instead:
> CMS_2013_I1224539_DIJET.cc:7:35: fatal error: fastjet/tools/Filter.hh
> CMS_2013_I1224539_DIJET.cc:8:35: fatal error: fastjet/tools/Pruner.hh:
> No such file or directory
> My lazy workaround was to remove this analysis (and also
> CMS_2013_I1224539_WJET, CMS_2013_I1224539_ZJET) from the Makefile, as I
> could not find any Pruner.hh file in the LCG CERN installation of FastJet.

Was your installation of Fastjet built with the --enable-allplugins
switch? I don't believe that the FastJet authors removed SISCone in v3,
but you need to build the library with a special option to get it (the
only always-available jet algs are kT, anti-kT, and C/A, of I remember
correctly).

Andy

-- 
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow / PH Dept, CERN


More information about the Rivet mailing list