[Rivet] yaml-cpp bundling and immediate Rivet 2.1.0 release?

Andy Buckley andy.buckley at cern.ch
Tue Jan 28 13:28:15 GMT 2014


Good. Sorry for the mess.

How is ThePEG getting to know about -lrivet-yaml-cpp? In my current
build it's not referenced from any of libRivet.so, libRivet.la, or
rivet-config!

Andy


On 28/01/14 13:47, David Grellscheid wrote:
> Hi Andy,
> 
> thanks for the fixes. They almost work, except for "cannot find
> -lrivet-yaml-cpp" in ThePEG. I'll sort that out.
> 
>   David
> 
> 
> On 28/01/14 12:35, Andy Buckley wrote:
>> On 28/01/14 13:12, David Grellscheid wrote:
>>>> 1. Why don't we do something similar for all kinds of dependencies? We
>>>> wouldn't necessarily have to bundle their tarball, but just "wget" it
>>>> during the build? It sounds a bit unneat, but why do it for yaml, and
>>>> not the others?
>>>
>>> Our YAML dependency is internal only. No Rivet header files depend on
>>> YAML. All the other dependencies are exposed via the headers to end users.
>>
>> Exactly. Maybe some others can be reduced (and I'd love to get rid of
>> the old copy of Eigen1 that's been secretly bundled in Rivet for years
>> and produces a squillion compiler warnings if you build against it with
>> strict flags), but this was the obvious non-standard library which could
>> be kept completely internal, just like we used to do (and YODA still
>> does) with TinyXML.
>>
>>>> 2. (Along the lines mentioned by James before) Our dependency on cmake
>>>> is now explicit. Are we / Should we be thinking about moving the build
>>>> system to cmake completely?
>>>
>>> No way. It's such an inflexible P.O.S.
>>
>> :-)  I have much the same impression so far, and switching the whole
>> build system would be enormously disruptive for virtually no gain. Maybe
>> we review this in a few years and come to a different conclusion.
>>
>>>> 3. Should we remove YAML from the bootstrap script now? I guess not,
>>>> since a "proper" installation and --with-yaml_cpp=... is still the
>>>> better solution, right?
>>>
>>> Agree, I would remove it completely from the external surface of Rivet,
>>> and...
>>
>> The only issues introduced by this are:
>>
>> * this makes cmake mandatory, even for people who have a prebuilt
>> yaml-cpp on their system. But I think that's a tiny number of people,
>> and those who had to install it by hand already needed to make sure that
>> they had cmake, so we may as well just make it internal.
>>
>> * we need to make sure that the automake build flags are all passed to
>> the bundled cmake build of yaml-cpp. This caused trouble for LHAPDF
>> 6.0.5 on pre-Mavericks Macs, where the build system is a mess. I at
>> least managed to get it to use the same compiler, but of course need to
>> make sure that dumb stuff like that -stdlib=c++ (or whatever) and/or
>> -std=c++11 flag is also passed to the yaml-cpp build. Any CMake experts
>> here to advise on how to steer that thing? The docs seem to have been
>> written without any expectation that there will ever be *users* who'll
>> need to interact with it...
>>
>>>> As for 2.1.0, I still have a few bugfixes in analyses against nan's,
>>>> since YODA (as opposed to AIDA) is now aborting when it encounters
>>>> nan's/inf's. I want to commit those as soon as my trunk compiles again
>>>> -- I'm currently looking at /usr/bin/ld: cannot find -lyaml-cpp.
>>>
>>> ... that's why. The external YAML is currently broken, and there's no
>>> reason to fix it (see 1. above). Andy's changes yesterday are also
>>> broken in more interesting ways, so can we PLEASE hold off a rushed
>>> release for at least a week to let things settle, and testing to run.
>>
>> Yep, sorry about that. I think I fixed it now (only changes to the
>> previous LDFLAGS etc. setup are removal of a bad-idea -L$(prefix)/lib
>> and removal of -R flags for YODA and HepMC: I think these aren't needed
>> but shout at me if they are, David. It compiles after "make clean" and
>> runs on a small HepMC file, so I think is ok.
>>
>> Cheers,
>> 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