[Rivet] analysis

Andy Buckley andy.buckley at cern.ch
Fri May 1 16:34:19 BST 2015


Yes, we need to add that to our procedure.

The theorist use of vanilla SLC6 systems (it'd be better to just use
Ubuntu or Fedora...) is our main blocker on moving Rivet "properly" to
C++11: the relevant experiment software builds are all using up-to-date
compilers. But SLC7 / CC7 is available now, and lxplus7 is available,
with the vanilla compiler being the fully C++11-compatible GCC 4.8.3...
so maybe we *are* now at the point where we could match that switch, say
with Rivet 2.3.0. Opinions?

Andy


On 30/04/15 16:19, kirsanov wrote:
>  Thanks a lot, Andy,
>  You are going to test it with and without c++11 before releasing?
>                   Cheers, Mikhail
> 
> On 4/30/15 8:09 PM, Andy Buckley wrote:
>> I have removed all these from the Rivet trunk. In fact, we already
>> import the Boost assign comma override, which is C++11 safe (at least,
>> if it wasn't you'd have seen a lot more problems) and so I just
>> converted these to the somevector += 1,2,3,4; syntax. We'll make a
>> release containing this in the not-too-distant future.
>>
>> Andy
>>
>>
>>
>> On 27/04/15 12:07, Andy Buckley wrote:
>>> We are planning to remove uses of this Boost assign list_of from the
>>> next minor Rivet release because of the C++98/03/11 compatibility issues
>>> while using it.
>>>
>>> We'd like to move to requiring C++11, but aren't sure that this is an
>>> option yet, both because of the build settings of the LHC experiments,
>>> and because the system compiler on SLC6 isn't capable of many important
>>> C++11 features. LCG and the experiments don't use the system compiler,
>>> of course, but for what I think are largely accidental / cargo cult
>>> reasons, there are many "vanilla" SLC6 systems in use, particularly by
>>> theorists :-/
>>>
>>> Andy
>>>
>>>
>>> On 27/04/15 10:41, James Robinson wrote:
>>>> Dear Mikhail,
>>>>
>>>> Sorry, the code was originally written using C++11 features, assuming
>>>> forward-compatibility. It then got changed to use Boost for C++03
>>>> compatibility. Hopefully, in future, we can either switch to using
>>>> C++11
>>>> throughout or Boost will patch this (known) ambiguity bug.
>>>>
>>>> Thanks,
>>>> James
>>>>
>>>> On 27 April 2015 at 11:37, kirsanov <Mikhail.Kirsanov at cern.ch
>>>> <mailto:Mikhail.Kirsanov at cern.ch>> wrote:
>>>>
>>>>       Hello, Andy, James,
>>>>       So, after some unforeseen education about the new c++11
>>>> syntax, the
>>>>      patch looks like this:
>>>>
>>>>       /afs/cern.ch/user/m/mkirsano/public/rivet-2.2.1.patch
>>>>      <http://cern.ch/user/m/mkirsano/public/rivet-2.2.1.patch>
>>>>
>>>>       It will not compile without c++11.
>>>>       So, for the next rivet version one should introduce some
>>>>      preprocessor if or rewrite the code in a simple manner, without
>>>> boost.
>>>>                                      Cheers, Mikhail
>>>>
>>>>
>>>
>>
> 


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


More information about the Rivet mailing list