[Bioc-devel] package RBGL requires CRAN dependency on devel branch

Kasper Daniel Hansen k@@perd@n|e|h@n@en @end|ng |rom gm@||@com
Tue Mar 26 16:11:51 CET 2019


well, we can't fix this in old branches of Bioc.

My POV is that we need to consider - in some sense - lock down CRAN with a
Bioc release.

On Tue, Mar 26, 2019 at 12:45 AM Aaron Lun <
infinite.monkeys.with.keyboards using gmail.com> wrote:

> My 2 cents - API-breaking changes to BH are no more of an issue than
> breaking changes to any other CRAN package. We just hope that it doesn't
> happen too often and we deal with it when the time comes; that's the
> whole point of getting frequent release builds to check for these cases.
>
> If we were discussing a package that distributed a shared library, then
> greater concern would be warranted if updates to the library resulted in
> ABI incompatibilities. This could result in very cryptic errors at link
> time, load time, or possibly segmentation faults, who knows.
>
> But BH is a header-only library, so breaking changes will most likely
> cause compilation errors that are obvious and easy to fix. Well, easy
> enough if you were able to write C++ code in the first place.
>
> -A
>
>
> On 25/03/2019 08:39, Vincent Carey wrote:
> > On Mon, Mar 25, 2019 at 10:57 AM Kasper Daniel Hansen <
> > kasperdanielhansen using gmail.com> wrote:
> >
> >> There are no issues with depending on CRAN packages.
> >>
> >> But I would advise caution. On one hand it is great that boost gets
> >> updated regularly. On the other hand, it could lead to incompatibilities
> >> with RBGL and then you have to update that package rapidly. Also - and
> this
> >> is something we could consider addressing - the CRAN imports of Bioc are
> >> not locked down. By which I mean, you release RBGL in Bioconductor X.
> After
> >> release (or perhaps even after next Bioc release) BH is updated in a
> >> non-backwards compatible way and now the old code is hosed. Having said
> >> that, so far we have been ignoring it (I think) and the same issue
> arises
> >> with Rcpp.
> >>
> >> Do you have any idea how often Boost breaks compatibility?  I would
> >> strongly advise to download the last couple of BH releases and test with
> >> RBGL. While kind of irrelevant in some sense, it will give you an idea
> of
> >> how fast Boost / BH evolves.
> >>
> >
> > These are good points.  In this particular case I believe that Boost
> Graph
> > Library evolves very slowly and
> > backwards compatibility is not endangered.  It is an early component of
> > Boost.  On the other hand, BH has
> > no obligation to provide the graph (BGL) headers, and I believe that in
> > early incarnations of BH, some headers
> > needed for RBGL were not there.  So there are maintenance vulnerabilities
> > to this approach, but I think it is better
> > if we stick with the maintained BH as long as this works.  Should this
> > approach fail (and your scenario of
> > CRAN package changes breaking bioc must be kept in mind) we can go back
> to
> > tarball distribution if necessary.
> >
> >
> >>
> >> On Mon, Mar 25, 2019 at 8:03 AM Martin Morgan <mtmorgan.bioc using gmail.com>
> >> wrote:
> >>
> >>> ...also Bioconductor knows all about CRAN -- see the repositories
> >>> returned by
> >>>
> >>>> BiocManager::repositories()
> >>>                                                 BioCsoft
> >>>             "https://bioconductor.org/packages/3.9/bioc"
> >>>                                                  BioCann
> >>> "https://bioconductor.org/packages/3.9/data/annotation"
> >>>                                                  BioCexp
> >>> "https://bioconductor.org/packages/3.9/data/experiment"
> >>>                                            BioCworkflows
> >>>        "https://bioconductor.org/packages/3.9/workflows"
> >>>                                                     CRAN
> >>>                               "https://cran.rstudio.com"
> >>>>
> >>>
> >>> On 3/25/19, 7:42 AM, "Martin Morgan" <mtmorgan.bioc using gmail.com> wrote:
> >>>
> >>>      I think the usual incantation in configure files is
> ${R_HOME}/bin/R
> >>> ... R_HOME is the path to R set by the command that starts to build or
> >>> install the package, whereas Rscript is found on the search path.
> >>>
> >>>      Martin
> >>>
> >>>      On 3/25/19, 7:33 AM, "Bioc-devel on behalf of Vincent Carey" <
> >>> bioc-devel-bounces using r-project.org on behalf of
> stvjc using channing.harvard.edu>
> >>> wrote:
> >>>
> >>>          The error on linux for 3.9:
> >>>
> >>>
> >>>
> ##############################################################################
> >>>
> >>>
> ##############################################################################
> >>>          ###
> >>>          ### Running command:
> >>>          ###
> >>>          ###   /home/biocbuild/bbs-3.9-bioc/R/bin/R CMD INSTALL RBGL
> >>>          ###
> >>>
> >>>
> ##############################################################################
> >>>
> >>>
> ##############################################################################
> >>>
> >>>
> >>>          * installing to library
> ‘/home/biocbuild/bbs-3.9-bioc/R/library’
> >>>          * installing *source* package ‘RBGL’ ...
> >>>          ** using staged installation
> >>>          checking R package BH ... no
> >>>          configure: error: R package BH not found.
> >>>          ERROR: configuration failed for package ‘RBGL’
> >>>          * removing ‘/home/biocbuild/bbs-3.9-bioc/R/library/RBGL’
> >>>          * restoring previous
> ‘/home/biocbuild/bbs-3.9-bioc/R/library/RBGL’
> >>>
> >>>          Note that BiocParallel also uses BH and succeeds
> >>>
> >>>          configure: creating ./config.status
> >>>          config.status: creating src/Makevars
> >>>          ** libs
> >>>          g++ -std=gnu++11 -I"/home/biocbuild/bbs-3.9-bioc/R/include"
> >>> -DNDEBUG
> >>>          -I"/home/biocbuild/bbs-3.9-bioc/R/library/BH/include"
> >>>          -I/usr/local/include  -fpic  -g -O2  -Wall -c ipcmutex.cpp -o
> >>>          ipcmutex.o
> >>>          In file included from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/integer_log2.hpp:19:0,
> >>>                           from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/large_arithmetic.hpp:19,
> >>>                           from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/const_mod.hpp:23,
> >>>                           from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/seed_impl.hpp:26,
> >>>                           from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/mersenne_twister.hpp:30,
> >>>                           from
> >>>
> >>>
> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/uuid/random_generator.hpp:17,
> >>>
> >>>          So could it be an issue with the configure script?
> >>>
> >>>
> >>>          On Mon, Mar 25, 2019 at 7:22 AM Samuela Pollack <
> >>> spollack using jimmy.harvard.edu>
> >>>          wrote:
> >>>
> >>>          > Dear Bioconductor,
> >>>          >
> >>>          > The devel version of package RBGL is flunking build.
> >>>          >
> >>>          > This package has been modified to include header files in
> the
> >>> CRAN
> >>>          > package 'BH' instead of using a local tarball of the header
> >>> files. We
> >>>          > consider this an improvement because the 'BH' maintainers
> >>> update their
> >>>          > package every time a new version of boost is released, but
> >>> rebuilding
> >>>          > the included tarball is unreliable.
> >>>          >
> >>>          > Is it possible to request inclusion of a CRAN package
> >>> dependency in a
> >>>          > Bioconductor package? If not, how would Bioconductor
> recommend
> >>> we handle
> >>>          > this?
> >>>          >
> >>>          > (Full disclosure: the BH package has all the header files
> for
> >>> all of
> >>>          > boost. This is a lot more disk space then we need, because
> we
> >>> only need
> >>>          > the BGL.)
> >>>          >
> >>>          > thanks,
> >>>          >
> >>>          > - Sam
> >>>          >
> >>>          >
> >>>          >
> >>>          > On 3/22/19 7:28 AM, Morgan, Martin wrote:
> >>>          > >          External Email - Use Caution
> >>>          > >
> >>>          > > Thanks for the explanation and exemplary detective work.
> Will
> >>> you push
> >>>          > these changes to the release and devel branches of RBGL?
> I've
> >>> given you
> >>>          > permissions... Martin
> >>>          > >
> >>>          > > On 3/22/19, 5:15 AM, "Samuela Pollack" <
> >>> spollack using jimmy.harvard.edu>
> >>>          > wrote:
> >>>          > >
> >>>          > >      We have a temporary fix which we believe will
> alleviate
> >>> the
> >>>          > difficulty.
> >>>          > >
> >>>          > >      The only routine in RBGL that does not compile under
> the
> >>> LLVM-9.0
> >>>          > system
> >>>          > >      is the routine that implements betweenness
> connectivity
> >>> clustering.
> >>>          > This
> >>>          > >      seems to be a rarely-used routine, so we have
> >>> temporarily removed it
> >>>          > >      from RBGL and put in a message explaining how users
> may
> >>> replace it
> >>>          > easily.
> >>>          > >
> >>>          > >      I have contacted Professor Jeremy Siek at in
> Bloomington
> >>> to discuss
> >>>          > how
> >>>          > >      best to proceed. It is possible this will have to be
> >>> fixed in BGL,
> >>>          > >      probably not in time for boost 1.70.
> >>>          > >
> >>>          > >      For clarity: the incompatibility is not in clang. The
> >>>          > incompatibility is
> >>>          > >      in the llvm c++ standard library. Mac users who build
> >>> with clang
> >>>          > will be
> >>>          > >      fine, as long as they don't link in the llvm C++
> stdlib,
> >>> which most
> >>>          > >      wouldn't think to do and Apple does not encourage.
> >>>          > >
> >>>          > >      We hope this will be sufficient for now.
> >>>          > >
> >>>          > >      - Sam
> >>>          > >
> >>>          > >
> >>>          > >      On 3/22/19 4:18 AM, Morgan, Martin wrote:
> >>>          > >      >          External Email - Use Caution
> >>>          > >      >
> >>>          > >      > What's the status for RBGL?
> >>>          > >      >
> >>>          > >      > Thanks, Martin
> >>>          > >      >
> >>>          > >      > On 3/22/19, 3:57 AM, "Prof Brian Ripley" <
> >>> ripley using stats.ox.ac.uk>
> >>>          > wrote:
> >>>          > >      >
> >>>          > >      >      clang 8.0.0 is now released, and these fail
> there
> >>> too (and
> >>>          > break about
> >>>          > >      >      50 CRAN packages which depend on them).
> >>>          > >      >
> >>>          > >      >      Reminder: this is with clang's native libc++,
> as
> >>> documented
> >>>          > at
> >>>          > >      >
> >>>          >
> >>>
> https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-clang
> >>>          > >      >
> >>>          > >      >      We really need fixes in both 3.8 and 3.9.
> >>>          > >      >
> >>>          > >      >      BDR
> >>>          > >      >
> >>>          > >      >      On 28/02/2019 18:52, Prof Brian Ripley wrote:
> >>>          > >      >      > These packages fail to install with clang
> >>> 8.0.0rc3, which
> >>>          > is supposed to
> >>>          > >      >      > be near-final (it is overdue for release).
> >>> (AFAIR they
> >>>          > did install with
> >>>          > >      >      > rc1.)  In both cases the problems are with
> >>> Boost.
> >>>          > >      >      >
> >>>          > >      >      > RBGL 1.95.1
> >>>          > >      >      >
> >>>          > >      >      > In file included from bbc.cpp:1:
> >>>          > >      >      > In file included from ./RBGL.hpp:7:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/iostream:38:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/ios:216:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/__locale:15:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/string:505:
> >>>          > >      >      > In file included from
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/__string:57:
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2494:5:
> >>>          > error:
> >>>          > >      >      > static_assert
> >>>          > >      >      >        failed due to requirement
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> '__is_forward_iterator<boost::detail::undirected_edge_iter<std::__1::__list_iterator<boost::list_edge<unsigned
> >>>          > >      >      >
> >>>          > >      >      >        long,
> >>> boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> > >,
> >>>          > >      >      >        void *>,
> >>>          > boost::detail::edge_desc_impl<boost::undirected_tag,
> >>>          > >      >      > unsigned
> >>>          > >      >      >        long>, long> >::value'
> "std::max_element
> >>> requires a
> >>>          > ForwardIterator"
> >>>          > >      >      >
> >>>          >
> static_assert(__is_forward_iterator<_ForwardIterator>::value,
> >>>          > >      >      >      ^
> >>>          >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>          > >      >      >
> >>>          >
> rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp:132:26:
> >>> note: in
> >>>          > >      >      >        instantiation of function template
> >>> specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'std::__1::max_element<boost::detail::undirected_edge_iter<std::__1::__list_iterator<boost::list_edge<unsigned
> >>>          > >      >      >
> >>>          > >      >      >        long,
> >>> boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> > >,
> >>>          > >      >      >        void *>,
> >>>          > boost::detail::edge_desc_impl<boost::undirected_tag,
> >>>          > >      >      > unsigned
> >>>          > >      >      >        long>, long>,
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> boost::indirect_cmp<boost::adj_list_edge_property_map<boost::undirected_tag,
> >>>          > >      >      >
> >>>          > >      >      >        double, double &, unsigned long,
> >>>          > >      >      > boost::property<boost::edge_weight_t,
> >>>          > >      >      >        double,
> >>> boost::property<boost::edge_centrality_t,
> >>>          > double,
> >>>          > >      >      >        boost::no_property> >,
> >>> boost::edge_centrality_t>,
> >>>          > >      >      > std::__1::less<double> >
> >>>          > >      >      >        >' requested here
> >>>          > >      >      >      edge_descriptor e =
> >>> *max_element(edges_iters.first,
> >>>          > >      >      > edges_iters.seco...
> >>>          > >      >      >
> >>>          >
> rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp:146:3:
> >>> note: in
> >>>          > >      >      >        instantiation of function template
> >>> specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'boost::betweenness_centrality_clustering<boost::adjacency_list<boost::vecS,
> >>>          > >      >      >
> >>>          > >      >      >        boost::vecS, boost::undirectedS,
> >>>          > >      >      > boost::property<boost::vertex_index_t,
> >>>          > >      >      >        int,
> >>> boost::property<boost::vertex_centrality_t,
> >>>          > double,
> >>>          > >      >      >        boost::no_property> >,
> >>>          > boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> >,
> >>>          > >      >      >        boost::no_property, boost::listS>,
> >>>          > clustering_threshold,
> >>>          > >      >      >
> >>>          > boost::adj_list_edge_property_map<boost::undirected_tag,
> double,
> >>>          > >      >      > double &,
> >>>          > >      >      >        unsigned long,
> >>>          > boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> >,
> >>>          > >      >      >        boost::edge_centrality_t>,
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_index_t,
> >>>          > >      >      >        int,
> >>> boost::property<boost::vertex_centrality_t,
> >>>          > double,
> >>>          > >      >      >        boost::no_property> >, unsigned
> long> >'
> >>> requested
> >>>          > here
> >>>          > >      >      >    betweenness_centrality_clustering(g,
> done,
> >>>          > edge_centrality,
> >>>          > >      >      >    ^
> >>>          > >      >      > bbc.cpp:122:3: note: in instantiation of
> >>> function template
> >>>          > specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'boost::betweenness_centrality_clustering<boost::adjacency_list<boost::vecS,
> >>>          > >      >      >
> >>>          > >      >      >        boost::vecS, boost::undirectedS,
> >>>          > >      >      > boost::property<boost::vertex_index_t,
> >>>          > >      >      >        int,
> >>> boost::property<boost::vertex_centrality_t,
> >>>          > double,
> >>>          > >      >      >        boost::no_property> >,
> >>>          > boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> >,
> >>>          > >      >      >        boost::no_property, boost::listS>,
> >>>          > clustering_threshold,
> >>>          > >      >      >
> >>>          > boost::adj_list_edge_property_map<boost::undirected_tag,
> double,
> >>>          > >      >      > double &,
> >>>          > >      >      >        unsigned long,
> >>>          > boost::property<boost::edge_weight_t, double,
> >>>          > >      >      >
> >>> boost::property<boost::edge_centrality_t, double,
> >>>          > >      >      > boost::no_property> >,
> >>>          > >      >      >        boost::edge_centrality_t> >'
> requested
> >>> here
> >>>          > >      >      >
> >>> betweenness_centrality_clustering(g,
> >>>          > >      >      >                  ^
> >>>          > >      >      >
> >>>          > >      >      > mzR 2.17.1
> >>>          > >      >      >
> >>>          > >      >      > In file included from
> >>>          > pwiz/data/identdata/Serializer_pepXML.cpp:25:
> >>>          > >      >      > In file included from
> >>>          > pwiz/data/identdata/Serializer_pepXML.hpp:27:
> >>>          > >      >      > In file included from
> >>> pwiz/data/identdata/IdentData.hpp:29:
> >>>          > >      >      > In file included from
> >>> ./pwiz/utility/misc/Exception.hpp:29:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/string:505:
> >>>          > >      >      > In file included from
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/__string:57:
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2428:5:
> >>>          > error:
> >>>          > >      >      > static_assert
> >>>          > >      >      >        failed due to requirement
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> '__is_forward_iterator<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >        namespace)::EnzymePtr_specificity,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default>
> >>>          > >      >      >  >::value'
> >>>          > >      >      >        "std::min_element requires a
> >>> ForwardIterator"
> >>>          > >      >      >
> >>>          >
> static_assert(__is_forward_iterator<_ForwardIterator>::value,
> >>>          > >      >      >      ^
> >>>          >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2445:19:
> >>>          > note: in
> >>>          > >      >      >        instantiation of function template
> >>> specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'std::__1::min_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >        namespace)::EnzymePtr_specificity,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default>,
> >>>          > >      >      >        std::__1::__less<int, int> >'
> requested
> >>> here
> >>>          > >      >      >      return _VSTD::min_element(__first,
> __last,
> >>>          > >      >      >                    ^
> >>>          > >      >      >
> >>> ./boost/boost/range/algorithm/min_element.hpp:44:17: note:
> >>>          > in
> >>>          > >      >      > instantiation of
> >>>          > >      >      >        function template specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'std::__1::min_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >        namespace)::EnzymePtr_specificity,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default> >'
> >>>          > >      >      > requested
> >>>          > >      >      >        here
> >>>          > >      >      >      return
> std::min_element(boost::begin(rng),
> >>>          > boost::end(rng));
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          > >      >      >
> >>> pwiz/data/identdata/Serializer_pepXML.cpp:418:41: note: in
> >>>          > instantiation of
> >>>          > >      >      >        function template specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'boost::range::min_element<boost::range_detail::transformed_range<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >        namespace)::EnzymePtr_specificity,
> const
> >>>          > >      >      >
> >>>          > std::__1::vector<boost::shared_ptr<pwiz::identdata::Enzyme>,
> >>>          > >      >      >
> >>>          >
> std::__1::allocator<boost::shared_ptr<pwiz::identdata::Enzyme> >
> >>>          > >      >      >  > > >'
> >>>          > >      >      >        requested here
> >>>          > >      >      >      int minSpecificity =
> >>>          > *boost::range::min_element(sip.enzymes.enzymes
> >>>          > >      >      > ...
> >>>          > >      >      >                                          ^
> >>>          > >      >      > In file included from
> >>>          > pwiz/data/identdata/Serializer_pepXML.cpp:25:
> >>>          > >      >      > In file included from
> >>>          > pwiz/data/identdata/Serializer_pepXML.hpp:27:
> >>>          > >      >      > In file included from
> >>> pwiz/data/identdata/IdentData.hpp:29:
> >>>          > >      >      > In file included from
> >>> ./pwiz/utility/misc/Exception.hpp:29:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/string:505:
> >>>          > >      >      > In file included from
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
> >>>          > >      >      > In file included from
> >>>          > /usr/local/clang8/bin/../include/c++/v1/__string:57:
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2494:5:
> >>>          > error:
> >>>          > >      >      > static_assert
> >>>          > >      >      >        failed due to requirement
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> '__is_forward_iterator<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >
> namespace)::EnzymePtr_missedCleavages,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default>
> >>>          > >      >      >  >::value'
> >>>          > >      >      >        "std::max_element requires a
> >>> ForwardIterator"
> >>>          > >      >      >
> >>>          >
> static_assert(__is_forward_iterator<_ForwardIterator>::value,
> >>>          > >      >      >      ^
> >>>          >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>          > >      >      >
> >>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2512:19:
> >>>          > note: in
> >>>          > >      >      >        instantiation of function template
> >>> specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'std::__1::max_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >
> namespace)::EnzymePtr_missedCleavages,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default>,
> >>>          > >      >      >        std::__1::__less<int, int> >'
> requested
> >>> here
> >>>          > >      >      >      return _VSTD::max_element(__first,
> __last,
> >>>          > >      >      >                    ^
> >>>          > >      >      >
> >>> ./boost/boost/range/algorithm/max_element.hpp:44:17: note:
> >>>          > in
> >>>          > >      >      > instantiation of
> >>>          > >      >      >        function template specialization
> >>>          > >      >      >
> >>>          > >      >      >
> >>>          >
> >>>
> 'std::__1::max_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
> >>>          > >      >      >
> >>>          > >      >      >
> namespace)::EnzymePtr_missedCleavages,
> >>>          > std::__1::__wrap_iter<const
> >>>          > >      >      >
> >>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
> >>>          > >      >      >        boost::iterators::use_default,
> >>>          > boost::iterators::use_default> >'
> >>>          > >      >      > requested
> >>>          > >      >      >        here
> >>>          > >      >      >      return
> std::max_element(boost::begin(rng),
> >>>          > boost::end(rng));
> >>>          > >      >      > ...
> >>>          > >      >      >
> >>>          > >      >
> >>>          > >      >
> >>>          > >      >      --
> >>>          > >      >      Brian D. Ripley,
> >>> ripley using stats.ox.ac.uk
> >>>          > >      >      Emeritus Professor of Applied Statistics,
> >>> University of
> >>>          > Oxford
> >>>          > >      >
> >>>          > >      >
> >>>          > >      >
> >>>          > >      >
> >>>          > >      > This email message may contain legally privileged
> >>> and/or
> >>>          > confidential information.  If you are not the intended
> >>> recipient(s), or the
> >>>          > employee or agent responsible for the delivery of this
> message
> >>> to the
> >>>          > intended recipient(s), you are hereby notified that any
> >>> disclosure,
> >>>          > copying, distribution, or use of this email message is
> >>> prohibited.  If you
> >>>          > have received this message in error, please notify the
> sender
> >>> immediately
> >>>          > by e-mail and delete this email message from your computer.
> >>> Thank you.
> >>>          > >
> >>>          > >
> >>>          > >
> >>>          > >
> >>>          > > This email message may contain legally privileged and/or
> >>> confidential
> >>>          > information.  If you are not the intended recipient(s), or
> the
> >>> employee or
> >>>          > agent responsible for the delivery of this message to the
> >>> intended
> >>>          > recipient(s), you are hereby notified that any disclosure,
> >>> copying,
> >>>          > distribution, or use of this email message is prohibited.
> If
> >>> you have
> >>>          > received this message in error, please notify the sender
> >>> immediately by
> >>>          > e-mail and delete this email message from your computer.
> Thank
> >>> you.
> >>>          >
> >>>
> >>>          --
> >>>          The information in this e-mail is intended only for the
> >>> ...{{dropped:18}}
> >>>
> >>>          _______________________________________________
> >>>          Bioc-devel using r-project.org mailing list
> >>>          https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >>>
> >>>
> >>> _______________________________________________
> >>> Bioc-devel using r-project.org mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >>>
> >>
> >
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list