[Rivet] Python, Rivet 1.20, CERN AFS, LXBATCH

Ben Waugh waugh at hep.ucl.ac.uk
Thu Mar 25 21:49:33 GMT 2010


Dear Terrance,

I had the same problem ("invalid conversion" in one of the source files 
generated by Swig) compiling Rivet on SLC5. There is a bug in the 
version of swig supplied with the OS, so I had to install my own version 
(swig-1.3.40) locally and place it in my $PATH before the standard bin 
directories.

Cheers,
Ben

On 25/03/10 21:43, Terrance Figy wrote:
> Hello Rivet developers,
>
> We were given a setup script to aid us phenomenologist in the TH
> group at CERN. It works only on SL5. I thought I'd see if I can
> compile Rivet with it.
> However, the compilation of rivet crashes. I'm not sure how to fix
> it. I have installed my own versions of boost, fastjet, and hepmc.
> So, I'm a little perplexed.
>
> Cheers,
> Terrance
>
>> bash: . /afs/cern.ch/sw/lcg/hepsoft/0.1/x86_64-slc5-gcc44-opt/setup.sh
>
>
> gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -
> Wstrict-prototypes -fPIC -DSWIG_TYPE_TABLE=hepmccompat -I/afs/cern.ch/
> user/t/terrance/rivet-1.2.0/build/Rivet-1.2.1/include -I/afs/cern.ch/
> user/t/terrance/rivet-1.2.0/local/include -I/afs/cern.ch/user/t/
> terrance/rivet-1.2.0/local/include -I/afs/cern.ch/sw/lcg/external/GSL/
> 1.14/x86_64-slc5-gcc44-opt/include -I/afs/cern.ch/sw/lcg/hepsoft/0.1/
> x86_64-slc5-gcc44-opt/include/python2.5 -c ./rivet_wrap.cc -o build/
> temp.linux-x86_64-2.5/./rivet_wrap.o
> cc1plus: warning: command line option "-Wstrict-prototypes" is valid
> for Ada/C/ObjC but not for C++
> ./rivet_wrap.cc: In function ‘int SWIG_Python_ConvertFunctionPtr
> (PyObject*, void**, swig_type_info*)’:
> ./rivet_wrap.cc:2051: error: invalid conversion from ‘const char*’ to
> ‘char*’
> ./rivet_wrap.cc: In constructor ‘swig::PyObject_ptr::PyObject_ptr
> (PyObject*, bool)’:
> ./rivet_wrap.cc:2549: warning: suggest explicit braces to avoid
> ambiguous ‘else’
> ./rivet_wrap.cc: In destructor
> ‘swig::PySequence_Cont<T>::~PySequence_Cont()’:
> ./rivet_wrap.cc:3761: warning: suggest explicit braces to avoid
> ambiguous ‘else’
> ./rivet_wrap.cc: In function ‘int SWIG_AsCharPtrAndSize(PyObject*,
> char**, size_t*, int*)’:
> ./rivet_wrap.cc:3846: error: cannot convert ‘int*’ to ‘Py_ssize_t*’
> for argument ‘3’ to ‘int PyString_AsStringAndSize(PyObject*, char**,
> Py_ssize_t*)’
> ./rivet_wrap.cc: In function ‘void SWIG_Python_FixMethods
> (PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)’:
> ./rivet_wrap.cc:12423: error: invalid conversion from ‘const char*’
> to ‘char*’
> ./rivet_wrap.cc: In static member function ‘static int
> swig::traits_asptr<std::map<K, T, std::less<_Key>,
> std::allocator<std::pair<const _Key, _Tp>  >  >  >::asptr(PyObject*,
> std::map<K, T, std::less<_Key>, std::allocator<std::pair<const _Key,
> _Tp>  >  >**) [with K = std::basic_string<char, std::char_traits<char>,
> std::allocator<char>  >, T = int]’:
> ./rivet_wrap.cc:3076:   instantiated from ‘int swig::asptr(PyObject*,
> Type**) [with Type = std::map<std::basic_string<char,
> std::char_traits<char>, std::allocator<char>  >, int,
> std::less<std::basic_string<char, std::char_traits<char>,
> std::allocator<char>  >  >, std::allocator<std::pair<const
> std::basic_string<char, std::char_traits<char>, std::allocator<char>
>   >, int>  >  >]’
> ./rivet_wrap.cc:7911:   instantiated from here
> ./rivet_wrap.cc:4343: warning: deprecated conversion from string
> constant to ‘char*’
> /afs/cern.ch/user/t/terrance/rivet-1.2.0/build/Rivet-1.2.1/include/
> Rivet/Math/MathHeader.hh: At global scope:
> /afs/cern.ch/user/t/terrance/rivet-1.2.0/build/Rivet-1.2.1/include/
> Rivet/Math/MathHeader.hh:40: warning: ‘Rivet::MAXINT’ defined but not
> used
> error: command 'gcc' failed with exit status 1
> make[1]: *** [all-local] Error 1
> make[1]: Leaving directory `/afs/cern.ch/user/t/terrance/rivet-1.2.0/
> build/Rivet-1.2.1/pyext'
> make: *** [all-recursive] Error 1
>
> On 18 Mar 2010, at 20:30, Andy Buckley wrote:
>
>> Ah, that's probably because SLC5 is a complete mess when it comes to
>> compilers, libraries, etc.: the LCG libraries like HepMC, Fastjet,
>> etc.
>> are all built with compilers other than the ones that are available as
>> standard on the SLC5 system! (I did mention that this seemed a bit
>> dumb
>> about a year ago, but the lxplus team didn't see the problem!)
>>
>> So when using lxplus5 you should first source the setup for a
>> useful LCG
>> compiler, e.g.
>>
>> . /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.sh
>>
>> This is what I did when testing Rivet 1.2.0 pre-release copies on
>> lxplus5, and they worked fine. I guess this should be added to the
>> Rivet
>> wiki!
>>
>> Andy
>>
>>
>>
>> On 18/03/10 19:21, Terrance Figy wrote:
>>> I tried compiling rivet-1.2.0 for slc5 and didn't have any luck
>>> with it.
>>> -Terrance
>>>
>>>
>>> On 18 Mar 2010, at 20:15, Andy Buckley wrote:
>>>
>>>> I recommend using SLC5 at CERN when possible: lxplus5.cern.ch
>>>> should be
>>>> enough. If that's not an option, then I know that there are
>>>> Python 2.5
>>>> setups on AFS -- the ATLAS software uses one, for sure -- maybe
>>>> the CERN
>>>> helpdesk could advise on how to set up the shell environment to
>>>> use one
>>>> of those?
>>>>
>>>> Andy
>>>>
>>>>
>>>> On 18/03/10 15:24, Eike von Seggern wrote:
>>>>> Hi Terrance,
>>>>>
>>>>> the old Python 2.3 on SL 4 is probably the culprit. It's missing
>>>>> some
>>>>> language constructs modern Python version have.
>>>>>
>>>>> Can you please try the attached patch. You can apply it like this:
>>>>>
>>>>> cd
>>>>> /afs/cern.ch/user/t/terrance/rivet-1.2.0/local/lib64/python2.3/
>>>>> site-packages/
>>>>>
>>>>> patch -p0<  PATH/TO/lighthisto.patch
>>>>>
>>>>> Cheers,
>>>>>      eike
>>>>>
>>>>>
>>>>> On Thu, Mar 18, 2010 at 12:44 +0100, Terrance Figy wrote:
>>>>>> Dear Rivet developers,
>>>>>> I was wondering if you could help me understand why the aida2flat
>>>>>> script crashes. Should I be using phython 2.5.  Cern AFS seems be
>>>>>> using 2.3 by default on the SL4.
>>>>>>
>>>>>> Any help will be greatly appreciated.
>>>>>>
>>>>>>
>>>>>> bash-3.00$ aida2flat -help
>>>>>> Traceback (most recent call last):
>>>>>>    File
>>>>>> "/afs/cern.ch/user/t/terrance/rivet-1.2.0/local/bin/aida2flat",
>>>>>> line
>>>>>> 5, in ?
>>>>>>      import lighthisto
>>>>>>    File
>>>>>> "/afs/cern.ch/user/t/terrance/rivet-1.2.0/local/lib64/python2.3/
>>>>>> site-packages/lighthisto.py",
>>>>>> line 18
>>>>>>      for code,name in codepoint2name.iteritems()
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Terrance
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Rivet mailing list
>>>>>> Rivet at projects.hepforge.org
>>>>>> http://www.hepforge.org/lists/listinfo/rivet
>>>>
>>>>
>>>> --
>>>> 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.
>>>>
>>>
>>>
>>
>>
>> --
>> 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.
>>
>
> _______________________________________________
> Rivet mailing list
> Rivet at projects.hepforge.org
> http://www.hepforge.org/lists/listinfo/rivet

-- 
Dr Ben Waugh                                   Tel. +44 (0)20 7679 7223
Dept of Physics and Astronomy                  Internal: 37223
University College London
London WC1E 6BT


More information about the Rivet mailing list