[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
Mon Mar 25 17:00:37 CET 2019


I am out of date on this, but when I looked into it last time (years ago)
BH only included headers and it used to be that the graph part of boost
went beyond headers only. If it's headers-only perhaps the danger is
reduced.

On Mon, Mar 25, 2019 at 11:39 AM Vincent Carey <stvjc using channing.harvard.edu>
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
>>>
>>
> The information in this e-mail is intended only for th...{{dropped:16}}



More information about the Bioc-devel mailing list