<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Thanks for quick reply. Yes I see that warning about virtual
      destructor is fixed in 2.6.0 but the other one is not yet fixed.
      Note that we only get this error with GCC 8.1 (gcc 7.3 does not
      complain).</p>
    <p>Cheers,</p>
    <p>--Shahzad<br>
    </p>
    <p>On 05/18/2018 04:36 PM, Andy Buckley wrote:<br>
    </p>
    <blockquote type="cite"
cite="mid:CA+xDZS2-sDb-m957ynQVyfg5gknz7f25_+-tNjUBHbz8XUa10g@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_default" style="font-size:large">Hi,</div>
        <div class="gmail_default" style="font-size:large"><br>
        </div>
        <div class="gmail_default" style="font-size:large">At least the
          first of these has been fixed in the upcoming 2.6.1. I'm not
          sure about the other -- it may already have been fixed in
          v2.6.0, but at least I see no warnings with gcc 7.3.</div>
        <div class="gmail_default" style="font-size:large"><br>
        </div>
        <div class="gmail_default" style="font-size:large">Andy</div>
        <div class="gmail_default" style="font-size:large"><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 18 May 2018 at 15:29, Wahid eLoad <span
            dir="ltr"><<a href="mailto:wahid.eload@gmail.com"
              target="_blank" moz-do-not-send="true">wahid.eload@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
            <br>
              While building CMSSW software with GCC 8.1.1, we get
            following build errors and warnings. Note that we are using
            River 2.5.4 on CentOS 7. Can we get a fix for these?<br>
            <br>
            Thanks,<br>
            <br>
            --Shahzad<br>
            <br>
            [a]  I guess here it is missing just the virtual destructor
            for BoolParticleBaseFunctor?<br>
            <br>
            .../rivet/2.5.4/include/Rivet/<wbr>Tools/ParticleBaseUtils.hh:23:<wbr>10:
            warning: 'struct Rivet::BoolParticleBaseFunctor<wbr>' has
            virtual functions and accessible non-virtual destructor
            [-Wnon-virtual-dtor]<br>
               struct BoolParticleBaseFunctor {<br>
                      ^~~~~~~~~~~~~~~~~~~~~~~<br>
            .../rivet/2.5.4/include/Rivet/<wbr>Tools/ParticleBaseUtils.hh:29:<wbr>10:
            warning: base class 'struct Rivet::BoolParticleBaseFunctor<wbr>'
            has accessible non-virtual destructor [-Wnon-virtual-dtor]<br>
               struct PtGtr : public BoolParticleBaseFunctor {<br>
                      ^~~~~<br>
            .../rivet/2.5.4/include/Rivet/<wbr>Tools/ParticleBaseUtils.hh:29:<wbr>10:
            warning: 'struct Rivet::PtGtr' has virtual functions and
            accessible non-virtual destructor [-Wnon-virtual-dtor]<br>
            .../rivet/2.5.4/include/Rivet/<wbr>Tools/ParticleBaseUtils.hh:38:<wbr>10:
            warning: base class 'struct Rivet::BoolParticleBaseFunctor<wbr>'
            has accessible non-virtual destructor [-Wnon-virtual-dtor]<br>
               struct PtLess : public BoolParticleBaseFunctor {<br>
            <br>
            <br>
            [b] I think here you just need to make
            "CmpAnaHandle::operator().....<wbr>" const<br>
            <br>
            from/CMSSW_10_2_X_2018-05-15-2<wbr>300/src/GeneratorInterface/Riv<wbr>etInterface/interface/RivetAna<wbr>lyzer.h:4,<br>
            <br>
                             from /CMSSW_10_2_X_2018-05-15-2300/<wbr>src/GeneratorInterface/RivetIn<wbr>terface/plugins/RivetAnalyzer.<wbr>cc:1:<br>
            .../gcc/8.1.0/include/c++/8.1.<wbr>1/bits/stl_tree.h: In
            instantiation of 'class std::_Rb_tree<std::shared_ptr<<wbr>Rivet::Analysis>,
            std::shared_ptr<Rivet::Analysi<wbr>s>,
            std::_Identity<std::shared_ptr<wbr><Rivet::Analysis>
            >, Rivet::CmpAnaHandle, std::allocator<std::shared_ptr<wbr><Rivet::Analysis>
            > >':<br>
            .../gcc/8.1.0/include/c++/8.1.<wbr>1/bits/stl_set.h:133:17: Â
            required from 'class std::set<std::shared_ptr<Rivet<wbr>::Analysis>,
            Rivet::CmpAnaHandle>'<br>
            .../rivet/2.5.4/include/Rivet/<wbr>AnalysisHandler.hh:197:34:
            required from here<br>
            .../gcc/8.1.0/include/c++/8.1.<wbr>1/bits/stl_tree.h:457:21:
            error: static assertion failed: comparison object must be
            invocable as const<br>
                   static_assert(is_invocable_v<c<wbr>onst
            _Compare&, const _Key&, const _Key&>,<br>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<wbr>~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
            <br>
            ______________________________<wbr>_________________<br>
            Rivet mailing list<br>
            <a href="mailto:Rivet@projects.hepforge.org" target="_blank"
              moz-do-not-send="true">Rivet@projects.hepforge.org</a><br>
            <a href="https://www.hepforge.org/lists/listinfo/rivet"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://www.hepforge.org/lists<wbr>/listinfo/rivet</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature" data-smartmail="gmail_signature">Dr
          Andy Buckley, Lecturer / Royal Society University Research
          Fellow<br>
          Particle Physics Expt Group, University of Glasgow<br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>