[Rivet] Rivet 2.0.0rc (release candidate) for testing

Dmitri Konstantinov Dmitri.Konstantinov at cern.ch
Fri Oct 25 07:23:59 BST 2013


Hi Andy,

I have tried once again....Everything looks fine except the script.

Take a look at our configuration command for rivet, may be there is 
something wrong there:

https://svnweb.cern.ch/trac/lcgsoft/browser/trunk/lcgcmake/generators/CMakeLists.txt#L501

With such configuration my rivetevn.sh looks like following:

## These variables need to exist
prefix=/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt
exec_prefix=${prefix}
datarootdir=${prefix}/share

## Try to automatically work out the YODA Python path
YODA_PYTHONPATH=""
test -n "$YODA_PYTHONPATH" || { (which yoda-config > /dev/null) && 
YODA_PYTHONPATH=`yoda-config --pythonpath`; }
test -n "$YODA_PYTHONPATH" || echo "yoda-config could not be found: you 
may need to manually set paths to libYODA and the yoda Python package" 1>&2

export 
PATH="$exec_prefix/bin:/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/yoda/1.0.3/x86_64-slc6-gcc48-opt/lib/../bin:$PATH"
export 
LD_LIBRARY_PATH="${exec_prefix}/lib:/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/yoda/1.0.3/x86_64-slc6-gcc48-opt/lib:/build/dkonst/TEST2/lcgcmake-install/HepMC/githead/x86_64-slc6-gcc48-opt/lib:/build/dkonst/TEST2/lcgcmake-install/fastjet/3.0.3/x86_64-slc6-gcc48-opt/lib:/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/yamlcpp/0.3.0/x86_64-slc6-gcc48-opt/lib:$LD_LIBRARY_PATH"
export 
PYTHONPATH="/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt/lib/python2.7/site-packages:$YODA_PYTHONPATH:$PYTHONPATH"

export TEXMFHOME="${datarootdir}/Rivet/texmf:$TEXMFHOME"
export HOMETEXMF="${datarootdir}/Rivet/texmf:$HOMETEXMF"
export TEXMFCNF="${datarootdir}/Rivet/texmf/cnf:$TEXMFCNF"
export TEXINPUTS="${datarootdir}/Rivet/texmf/tex:$TEXINPUTS"
export LATEXINPUTS="${datarootdir}/Rivet/texmf/tex:$LATEXINPUTS"

if (complete &> /dev/null); then
     test -e "${datarootdir}/Rivet/rivet-completion" && source 
"${datarootdir}/Rivet/rivet-completion"
fi

unset YODA_PYTHONPATH


  source rivetenv.sh
/usr/bin/which: no yoda-config in 
(/usr/sue/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
yoda-config could not be found: you may need to manually set paths to 
libYODA and the yoda Python package

Then when I run rivet it says:
                 sys.stderr.write("The rivet Python module could not be 
loaded: is your PYTHONPATH set correctly?\n")
But actually it can't find GSL lib and then libquadmath.so library:

 >>> import rivet
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File 
"/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt/lib/python2.7/site-packages/rivet/__init__.py", 
line 12, in <module>
     from rivet.core import *
ImportError: libgsl.so.0: cannot open shared object file: No such file 
or directory

export 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/build/dkonst/TEST2/lcgcmake-install/GSL/1.10/x86_64-slc6-gcc48-opt/lib

 >>> import rivet
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File 
"/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt/lib/python2.7/site-packages/rivet/__init__.py", 
line 12, in <module>
     from rivet.core import *
ImportError: libquadmath.so.0: cannot open shared object file: No such 
file or directory

source /afs/cern.ch/sw/lcg/external/gcc/4.8.0/x86_64-slc6-gcc48-opt/setup.sh

And then it works but apparently it tries to use system default python 
and not python used for the build:

  ./rivet
/build/dkonst/TEST2/lcgcmake-install/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt/lib/python2.7/site-packages/rivet/__init__.py:12: 
RuntimeWarning: compiletime version 2.7 of module 'rivet.core' does not 
match runtime version 2.6
   from rivet.core import *
Rivet 2.0.0 running on machine lcgapp07.cern.ch (x86_64)

And looks like YODA_PYTHON_PATH is not defined in my case...

Please, let me know if I can simplify your life :)
I can perform rivet installation to .cern.ch or to 
MCGenerators_lcgcmtpreview .


Cheers,
        Dima


On 10/24/13 10:30 PM, Andy Buckley wrote:
> Hi again Dima (CC Rivet devs),
>
> I have just tested the latest versions of Rivet and YODA on lxplus, with
> the two packages built into different directories. There were a few
> remaining issues which I've now fixed, but I can now build it that way
> on lxplus6 and it works "out of the box" when I source the setup script,
> so I *really* hope it will work for you, too!
>
> Please test the latest RC tarball and let me know as soon as possible if
> there are any problems -- I would *really* like to finally make this
> release tomorrow. I don't care if releasing on a Friday is a bad idea --
> it has taken forever to get here, but I think it's really ready to go
> now :-)
>
> Andy
>
> PS. I also just released YODA 1.0.4. No need to build it yet, but please
> use this for the final Rivet 2.0.0 when it is announced.
>
>
> On 23/10/13 12:08, Andy Buckley wrote:
>> On 23/10/13 11:51, Dmitri Konstantinov wrote:
>>> Hi Andy,
>>>
>>> There are some news from my side. The rivet installation works perfectly
>>> for all platforms.
>>> Unfortunately we don't have any tests for it. I can implement them today
>>> if you are not in a hurry.. Lets say run each analysis(or several) on
>>> 100 event hepmc file.
>> I don't think you need to hurry this: we have done a lot of testing to
>> make sure that the analyses are robust. And testing all the analyses in
>> Genser would definitely be overkill! But testing, e.g. one MC_ analysis
>> and one ATLAS/CMS analysis on a small LHC event file would be great,
>> just as a technical/sanity check.
>>
>>> I don't think that there is any improvement in rivetenv.sh script ;)
>> Bah!
>>
>>> I see that you have implemented reading yoda path from yoda-config, but
>>> it is not yet in yoda...
>> Right, that will appear in 1.0.4. But it doesn't help if YODA's bin dir
>> is not in the PATH, so I didn't push that release out: it would just be
>> one more thing for you to build!
>>
>>> there is only one way to run it is to explicitly add yoda python path to
>>> PYTHON_PATH (YODA_PYTHONPATH can't be used for it as you put it to "" in
>>> the script).
>> Hmm, that is strange: that value is auto-generated from the configure
>> script, based on where it is told to find the YODA installation. This is
>> the code that does that:
>> https://rivet.hepforge.org/trac/browser/configure.ac#L65
>>
>> So this is failing for some reason: I will check whether $YODAPATH is
>> defined. See, it's good (but frustrating) to double check! For the 10th
>> time...
>>
>>> test -n "$YODA_PYTHONPATH" || { (which yoda-config > /dev/null) &&
>>> YODA_PYTHONPATH=`yoda-config --pythonpath`; }
>>> test -n "$YODA_PYTHONPATH" || echo "yoda-config could not be found: you
>>> may need to manually set paths to libYODA and the yoda Python package" 1>&2
>>>
>>> And morever rivet crashes for me ....I am investigating - probably I am
>>> doing something wrong...:
>>>
>>> ./rivet
>>> 'import site' failed; use -v for traceback
>>> Traceback (most recent call last):
>>>    File "./rivet", line 20, in <module>
>>>      import os, sys
>>>    File
>>> "/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-test/Python/2.7.3/x86_64-slc6-gcc48-opt/lib/python2.7/os.py",
>>> line 398, in <module>
>>>      import UserDict
>>>    File
>>> "/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-test/Python/2.7.3/x86_64-slc6-gcc48-opt/lib/python2.7/UserDict.py",
>>> line 84, in <module>
>>>      _abcoll.MutableMapping.register(IterableUserDict)
>>>    File
>>> "/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-test/Python/2.7.3/x86_64-slc6-gcc48-opt/lib/python2.7/abc.py",
>>> line 109, in register
>>>      if issubclass(subclass, cls):
>>>    File
>>> "/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-test/Python/2.7.3/x86_64-slc6-gcc48-opt/lib/python2.7/abc.py",
>>> line 184, in __subclasscheck__
>>>      cls._abc_negative_cache.add(subclass)
>>>    File
>>> "/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-test/Python/2.7.3/x86_64-slc6-gcc48-opt/lib/python2.7/_weakrefset.py",
>>> line 84, in add
>>>      self.data.add(ref(item, self._remove))
>>> TypeError: cannot create weak reference to 'classobj' object
>> Ok, that is *really* weird :-(  I think that "import site" is a built-in
>> part of the Python interpreter, so this suggests to me that the Python
>> you are using is somehow broken. The rivet script doesn't even try to
>> import the rivet module until long after this sort of thing, once the
>> command-line parsing has been done, etc.
>>
>> Andy
>>
>>
>>> On 10/22/13 9:17 PM, Dmitri Konstantinov wrote:
>>>> Hi Andy,
>>>>
>>>> I have reloaded GENSER tarball repository with updated rc version of
>>>> Rivet 2.0.0.
>>>> I will let you know tomorrow after nightly builds.
>>>>
>>>> You are always welcome,
>>>>   Dima
>>>>
>>>>
>>>> On 10/22/13 5:20 PM, Andy Buckley wrote:
>>>>> Hi again Dima (& Anton),
>>>>>
>>>>> Thanks for the feedback, and apologies for the longer than expected time
>>>>> that it took to sort out this and a couple of other issues. I believe
>>>>> the setting of YODA's LD_LIBRARY_PATH should now work (as should
>>>>> auto-detection of the YODA PYTHONPATH) even when they are installed into
>>>>> separate directory hierarchies. If not, the next version of YODA will
>>>>> provide a script to help with environment setup. We also fixed a last
>>>>> (?!) few minor bugs detected by the Herwig++ validation suite.
>>>>>
>>>>> I have updated the Rivet-2.0.0rc tarballs with this new version: would
>>>>> you please try to build this and see if it now works as expected? We are
>>>>> then set to *finally* make this Rivet 2.0.0 release!
>>>>>
>>>>> Thanks,
>>>>> Andy
>>>>>
>>>>>
>>>>> On 09/10/13 12:18, Dmitri Konstantinov wrote:
>>>>>> Hi Andy,
>>>>>>
>>>>>> I have tried to run rivet 2.0.0rc from temporary installation place:
>>>>>>
>>>>>> source
>>>>>> /afs/cern.ch/sw/lcg/external/gcc/4.8.0/x86_64-slc6-gcc48-opt/setup.sh
>>>>>>
>>>>>> cd
>>>>>> /afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-preview/MCGenerators_lcgcmtpreview/rivet/2.0.0rc/x86_64-slc6-gcc48-opt/
>>>>>>
>>>>>>
>>>>>>
>>>>>> source ../rivetenv.sh
>>>>>>
>>>>>> ./rivet --help
>>>>>>
>>>>>> And it says:
>>>>>>
>>>>>> -bash-4.1$ rivet --help
>>>>>> The rivet Python module could not be loaded: is your PYTHONPATH set
>>>>>> correctly?
>>>>>>
>>>>>> While same procedure for rivet 1.8.3 works for me.
>>>>>> (
>>>>>> /afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GENSER/lcgcmake-install-preview/MCGenerators_lcgcmtpreview/rivet/1.8.3/x86_64-slc6-gcc48-opt/bin/
>>>>>>
>>>>>> )
>>>>>>
>>>>>> For both cases my initial (before rivetenv.sh execution) PYTHONPATH was
>>>>>> not defined.
>>>>>>
>>>>>> Could you please take a look?
>>>>>>
>>>>>> Cheers,
>>>>>>    Dima
>>>>>>
>>>>>>
>>>>>> On 10/9/13 12:00 PM, Dmitri Konstantinov wrote:
>>>>>>> Hi Andy,
>>>>>>>
>>>>>>> Great news! :)
>>>>>>>
>>>>>>>   From genser side we have added Rivet 2.0.0rc and YODA 1.0.3 to our
>>>>>>> preview configuration.
>>>>>>> It was successfully compiled for x86_64-slc6-gcc48-opt,
>>>>>>> x86_64-slc6-gcc46-opt, x86_64-slc5-gcc46-opt, x86_64-mac108-gcc42.
>>>>>>>
>>>>>>> Though I have not tried to run rivet itself.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>          Dima
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 10/9/13 1:56 AM, Andy Buckley wrote:
>>>>>>>> Hi Anton and Genser,
>>>>>>>>
>>>>>>>> We *finally* have a release candidate for Rivet 2.0.0! This has
>>>>>>>> taken an
>>>>>>>> extraordinary length of time to make... but the testing was
>>>>>>>> definitely
>>>>>>>> worth doing and it's the best Rivet yet. We hope to make the proper
>>>>>>>> 2.0.0 release in the next few days, but it's best that we provide you
>>>>>>>> with a preview to test that we didn't break anything in the last few
>>>>>>>> updates! It works fine on my system, on lxplus6, and in our automated
>>>>>>>> build system, so hopefully there should be no problems.
>>>>>>>>
>>>>>>>> Could you please run a quick test build, and a couple of analyses in
>>>>>>>> mcplots if you have a setup to use our YODA histogram interface
>>>>>>>> already,
>>>>>>>> and let us know if you encounter any problems? The code to use is the
>>>>>>>> Rivet 2.0.0rc tarball from http://www.hepforge.org/downloads/rivet
>>>>>>>> , and
>>>>>>>> the new version 1.0.3 of YODA, from
>>>>>>>> http://www.hepforge.org/downloads/yoda
>>>>>>>>
>>>>>>>> If all goes well, we will release Rivet 2.0.0 this week, and shortly
>>>>>>>> afterward we will produce version 1.8.4 (the guaranteed last point in
>>>>>>>> the 1.x series) and 2.0.1, which will include equal sets of new
>>>>>>>> analysis
>>>>>>>> codes from ATLAS, CMS, and LHCb. Just so you know what is planned ;-)
>>>>>>>>
>>>>>>>> Thanks again,
>>>>>>>> Andy & the rest of the Rivet team
>>>>>>>>
>>
>



More information about the Rivet mailing list