Skip to content
Back to formatted view

Raw Message

Message-ID: <89d911aa-968e-b822-7e73-de1443f3b172@gmail.com>
Date: 2019-03-27T05:06:31Z
From: Aaron Lun
Subject: [Bioc-devel]  package RBGL requires CRAN dependency on devel branch
In-Reply-To: <CAC2h7us5Ks2h=sMbgbs58LT1n6r8PL_AHRS6Xkps_=DC5XJh1w@mail.gmail.com>

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

Sure, but one could say that about breaking changes to any CRAN package. 
Nothing particularly special about BH on that point.

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

That's probably worth considering. For example, it would be pretty cool 
to just supply a date and BiocManager could figure out the last 
successful release versions of all CRAN/BioC packages at that time.

-A

> On Tue, Mar 26, 2019 at 12:45 AM Aaron Lun 
> <infinite.monkeys.with.keyboards at gmail.com 
> <mailto:infinite.monkeys.with.keyboards at 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 at gmail.com
>     <mailto:kasperdanielhansen at 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 at gmail.com <mailto:mtmorgan.bioc at 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 at gmail.com
>     <mailto:mtmorgan.bioc at 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 at r-project.org
>     <mailto:bioc-devel-bounces at r-project.org> on behalf of
>     stvjc at channing.harvard.edu <mailto:stvjc at 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 at jimmy.harvard.edu <mailto:spollack at 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 at jimmy.harvard.edu <mailto:spollack at 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 at stats.ox.ac.uk <mailto:ripley at 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 at stats.ox.ac.uk <mailto:ripley at 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 at r-project.org <mailto:Bioc-devel at r-project.org>
>     mailing list
>      >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>      >>>
>      >>>
>      >>> _______________________________________________
>      >>> Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org>
>     mailing list
>      >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>      >>>
>      >>
>      >
> 
>     _______________________________________________
>     Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org> mailing list
>     https://stat.ethz.ch/mailman/listinfo/bioc-devel
>