[Rivet] Compilation problem on Mac OSX 10.11 with Clang 3.7

Andy Buckley andy.buckley at cern.ch
Mon May 23 12:20:16 BST 2016


Hi Peter,

Check the release announcement for Rivet 2.4.2 -- it is primarily 
intended for use with YODA 1.5.x.

YODA 1.6.x uses C++11 features, which usually need to be enabled by 
passing a -std=c++11 flag to the compiler. (I think it will become 
default in GCC 6.x; not sure about clang/LLVM's plans).

YODA 1.6.1 won't break Rivet 2.4.x, but you will need to explicitly pass 
that C++11 mode flag in the CXXFLAGS environment variable or similar. 
Otherwise you'll get errors like this about features that didn't exist 
in the earlier standard. Rivet 2.5.0 onwards will itself use C++11 and 
so the necessary flags (if any) will be automatically present. I hope we 
can turn the current beta series into a proper release before too long.

Cheers,
Andy



On 23/05/16 08:42, Peter Skands wrote:
> Hi Riveteers,
>
> I’m trying to compile Rivet 2.4.2 on a Mac recently upgraded to El
> Capitan, using Macport’s /opt/local/bin/clang++-mp-3.7 compiler. I am
> linking against Yoda 1.6.1, which installed without problems.
>
> When trying to compile Rivet, however, I get three times the following
> error which seem to go back to a Yoda header:
>
> In file included from Run.cc:3:
>
> In file included from ../../include/Rivet/AnalysisHandler.hh:8:
>
> In file included from ../../include/Rivet/Tools/RivetYODA.hh:9:
>
> In file included from /usr/local/clang37/include/YODA/Histo1D.h:13:
>
> In file included from /usr/local/clang37/include/YODA/Axis1D.h:8:
>
> */usr/local/clang37/include/YODA/Utils/BinSearcher.h:145:16: **error:
> **no matching function for call to 'make_shared'*
>
>          _est = std::make_shared<LinEstimator>(0, 0, 1);
>
> *               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
>
> */opt/local/libexec/llvm-3.7/bin/../include/c++/v1/memory:4793:1: note:
> *candidate function [with _Tp = YODA::Utils::LinEstimator,
>
>        _A0 = int, _A1 = int, _A2 = int] not viable: expects an l-value
> for 1st argument
>
> make_shared(_A0& __a0, _A1& __a1, _A2& __a2)
>
> *^*
>
> */opt/local/libexec/llvm-3.7/bin/../include/c++/v1/memory:4769:1: note:
> *candidate function template not viable: requires 0
>
>        arguments, but 3 were provided
>
> make_shared()
>
> *^*
>
> */opt/local/libexec/llvm-3.7/bin/../include/c++/v1/memory:4777:1: note:
> *candidate function template not viable: requires single
>
>        argument '__a0', but 3 arguments were provided
>
> make_shared(_A0& __a0)
>
> *^*
>
> */opt/local/libexec/llvm-3.7/bin/../include/c++/v1/memory:4785:1: note:
> *candidate function template not viable: requires 2
>
>        arguments, but 3 were provided
>
> make_shared(_A0& __a0, _A1& __a1)
>
> *^*
>
> *
> *
> I attach the config.log from both Yoda and Rivet for reference.
>
> Let me know if I can provide any additional logs or tests on my system.
>
> All the best,
> Peter
>
>> *PETER SKANDS
> *Associate Professor
>
> *School of Physics and Astronomy
> *Monash University
> 10 College Walk, Clayton Campus
> Melbourne, VIC 3800
> Australia
>
> T: +61 3 990 53692 <tel://+61 3 990 53692>
> E: peter.skands at monash.edu <mailto:peter.skands at monash.edu>
> W: skands.physics.monash.edu <http://skands.physics.monash.edu/>
>
>> Sent with Airmail
>
>
> _______________________________________________
> Rivet mailing list
> Rivet at projects.hepforge.org
> https://www.hepforge.org/lists/listinfo/rivet
>


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


More information about the Rivet mailing list