[Rivet] installation

Frank Krauss frank.krauss at durham.ac.uk
Mon Jan 27 13:09:10 GMT 2014


Look, Andy, it is quite simple: I burnt three hours yesterday to no 
avail.  Without Frank S' help producing a bootstrap I would have 
stopped.  I do know that others stopped.  Your first, and to some degree 
also the second answer, did not convince me really that you are aware of 
this.  Even worse, I now have the strong perception of a "so what, you 
cannot do it - tough luck on you" attitude.  So, my experiences with 
Rivet 2 up to now will guarantee that my Rivet advertisement will sound 
like

"It could be a nice tool, but unfortunately in its latest versions it 
comes with so many dependencies that I cannot recommend to use it now.  
It is just not matured enough and the feedback by the core developer was 
less than helpful."

I am really annoyed by this, asking around here also told me that I am 
not the first to complain.  So, thanks for helping me to an enjoyable 
afternoon.



On 27/01/14 12:03, Andy Buckley wrote:
> On 27/01/14 11:17, Frank Krauss wrote:
>> Hi Andy,
>> well, that's great.  I found out about the dependencies the hard way,
>> but I still did not manage to produce an installation.  And since you
>> guys appear to claim zero time of developer time it has about zero
>> usability at the moment for anyone who cannot rely on it being already
>> installed on lxplus.  I guess however that Rivet was also meant for the
>> wider MC community, including theorists not sitting at CERN.  For those
>> it is pretty much useless, and, the way I see it, because the developers
>> mainly aimed at proving how smart they are rather than at having
>> something useful.  So, up to now, you just showed me that you guys do
>> not give a toss about this part of the community.  Good to know.  I
>> sincerely hope this attitude of producing monumental software for the
>> nerds is not the new trend in HEP computing.
> I'll try to reply nicely... but not exactly the style of feedback that
> makes me want to be Mr Helpful, Frank.
>
> First off, of course we care about MC/pheno theorists. But as far as I
> was aware the part of the community that Rivet was started for (i.e. you
> guys) were more-or-less happily using it without significant trouble. So
> the recent work (shall I moan about manpower again?) has been aimed at
> getting the experiment uptake to the same level as in the generator
> community. Understandable, no? So it looks like time for the balance to
> swing a bit back toward the non-LCG users again.
>
> I _really_ hope we have better ways to look (be!) clever than introduce
> new pain-in-the-ass library dependencies. It's more the other way
> around: when there's a better implementation somewhere else, which we
> have no chance/time to reimplement internally, we had to be stupid and
> acquire the dependency. Most of this happened > 5 years ago. Where there
> have been changes they have been to *reduce* build system problems (cf.
> the previous way of bundling yaml-cpp). I didn't think that much had
> changed with the release of version 2, but clearly some changes have had
> painful impact: it would be good to know exactly what these are. As I
> mentioned in another email, I suspect that YODA's Boost version
> requirement is too high -- is that right?
>
> The dependencies that we have were chosen (I thought fairly carefully)
> for compatibility with the "canonical" HEP system, i.e. SLC6 and the LCG
> libraries. Frank's new script should handle tarball builds on systems
> where LCG isn't present, which is great. Installation on personal
> laptops _should_ be far easier because so many dependencies can come
> direct from system packages... but you're right that that's assuming a
> degree of nerdity in that you're already administrating your own machine
> so can presumably choose what to install from where. If not, Frank's new
> "install everything" script should help... but be aware that if you
> build one library with a system Boost/GSL/whatever and Rivet with this
> all-in-one bootstrap then the fact that it fails to run isn't really a
> Rivet problem! Finally, building an unreleased development version is of
> course a bit harder: heck, *I* don't try to build the developer version
> on lxplus direct from the repository: I make a tarball on my laptop,
> copy it over, and run the standard bootstrap.
>
> Ok, enough. The feedback and the more general bootstrap script are
> really good to have, and I wish we'd known the strength of feeling about
> Rivet much earlier... but if no-one reports it then we don't know.  Let
> us know (nicely :-P) if there are more problems -- particularly,
> concrete help like Frank S' is hugely appreciated.
>
> Andy
>
> PS. Current manpower, since there was incredulity: I would guess < 1
> day/month on average for me, plus something similar or less for David G,
> and occasional (very welcome!) contributions from others like Frank S.
> Much of that time goes on analysis integration and (slow) feature
> development. Does it look like more from outside?
>
> PPS. When yaml-cpp is bundled back inside Rivet, the tarball
> dependencies will be exactly the same as Rivet 1, except that the
> histogramming now has to be built separately. So I think the 1 vs. 2
> dichotomy is a false one, and the issue is more to with the change to
> bootstrap scripts. You'll probably still need to have cmake installed,
> unless we bundle that as well... and why not an entire operating system?
> But while I dislike that cmake requirement, it's the same for a *lot* of
> other HEP packages now since LCG standardised on it. There will be a lot
> of pressure for HepMC3 to go that way, I think.
>
>
>> On 26/01/14 22:59, Andy Buckley wrote:
>>> Hi Franks,
>>>
>>> Well, it's usable in proportion to the amount of developer time that we
>>> have had to spend on making it nice... the main users what we have had
>>> to win over are the experiment ones who access it through experiment
>>> frameworks or from the Genser-built copy. So certainly that's who I've
>>> been aiming my limited build system dev time at, and to be honest I
>>> still stand by that choice although I'd rather not have *anyone* annoyed
>>> by our code.
>>>
>>> For a tarball build I think the dependencies are as follows:
>>>
>>> YODA requires:
>>>    * Boost (headers only, but currently asks for quite a new version...
>>> can maybe be relaxed: any testers?)
>>>
>>> Rivet requires:
>>>    * HepMC, FastJet (unavoidable, I think)
>>>    * YODA (yes, could have been built-in, but it has wider utility)
>>>    * yaml-cpp (for 2.1.0 I'd like to use a built-in copy, cf. the latest
>>> LHAPDF6)
>>>    * GNU Scientific Library (volunteers to eliminate that dependency? But
>>> is typically an easily-met requirement, I think)
>>>    * Boost (headers only, fairly easy version requirement, I think)
>>>
>>> If we eliminate yaml-cpp, how much is there to object to? Anyway, yes
>>> Frank I'd be very happy for you to make a new rivet2-bootstrap script
>>> which builds everything from scratch... and/or attempts to work out what
>>> is already on the system? At some level users should make their own
>>> minds up about what to install from packaging systems and what by
>>> hand... but by saying that I probably give away what side of Frank's
>>> nerd fence I'm sitting on ;-)
>>>
>>> Anyway, in short I don't see so much room for cutting things down, but
>>> always think that smoothing the entry paths (with scripts or otherwise)
>>> is a good thing as long as it's kept manageable for the developers, too.
>>> Since that's translated as "next to no manpower" for the last... two
>>> years?, I'm afraid the situation isn't so surprising. But we'll do what
>>> we can -- certainly I want to get rid of the yaml-cpp explicity
>>> requirement, and hopefully we can get a couple of new part-time
>>> developers (re)activated in the coming months.
>>>
>>> Andy
>>>
>>>
>>> On 26/01/14 19:47, Frank Siegert wrote:
>>>> I hate to admit that I agree with Frank's rant here, and I have had
>>>> multiple users recently who made the same point, though admittedly
>>>> more politely. The bootstrap script currently is close to useless to
>>>> everybody who isn't installing on lxplus. I have it on my agenda to
>>>> replace it with a working version, but haven't got around to it yet.
>>>> And to be honest, all the changes and external dependencies that came
>>>> with Rivet2 have left me as a second-class developer (if even),
>>>> because there is a lot of stuff in the codebase which is beyond my
>>>> capabilities to fix -- I'm normally quite annoyed myself with even
>>>> installing Rivet on a new cluster, where
>>>> cython/yaml/yoda/boost/cmake/hg/fastjet/hepmc... isn't available. Some
>>>> of those are only necessary for the development version, but it's
>>>> still rather annoying.
>>>> This goes far beyond the switch to YODA, which I agree with as
>>>> necessary, though tbh I originally thought would be Rivet-in-house as
>>>> well.
>>>>
>>>> Anyway, as I'm clearly not the majority of Rivet developers, and
>>>> mostly everybody else on the team seems to be happy about this usage
>>>> of fancy new technologies, separation and dependencies, there is no
>>>> point in discussing that in itself. But we definitely need a usable
>>>> bootstrap script much more urgently than we needed it for Rivet1.
>>>>
>>>> Andy, what about renaming the current rivet2 bootstrap script to
>>>> rivet-2-bootstrap-lcg, and (me) creating a separate one which actually
>>>> does all the installations on its own (but without support for Rivet1
>>>> of course, to avoid it becoming too bloated as the old one did)?
>>>>
>>>> Cheers,
>>>> Frank
>>>>
>>>>
>>>> On 26 January 2014 17:13, Frank Krauss <frank.krauss at durham.ac.uk>
>>>> wrote:
>>>>> Dear Rivet Authors,
>>>>> I am just towards the end of my second hour running trying to
>>>>> install Rivet 2.0.  Admittedly, I am not half as geeky and nerdy as
>>>>> you are, so I accepted/anticipated that this would take me an hour.
>>>>> But, please, can you explain the rationale why you use
>>>>> cython, yaml, yoda, boost, fastjet & hepmc (I am sure i missed some!)
>>>>> in a non-trivial way with non-trivial version specifications without
>>>>> providing a meaningful installation guide?  You certainly do not
>>>>> want the common people to use your code - is that it?  If you think
>>>>> this helps the user base you are mightily mistaken.  If you think I
>>>>> will continue to advertise your code, you're delusional - this is
>>>>> next to uninstallable as it stands now, with a pretty superficial
>>>>> installation help.
>>>>> Best wishes
>>>>>       Frank
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Rivet mailing list
>>>>> Rivet at projects.hepforge.org
>>>>> http://www.hepforge.org/lists/listinfo/rivet
>>>> _______________________________________________
>>>> Rivet mailing list
>>>> Rivet at projects.hepforge.org
>>>> http://www.hepforge.org/lists/listinfo/rivet
>>>>
>



More information about the Rivet mailing list