[Rcpp-devel] Help with R CMD CHECK for rtree package

Iñaki Ucar iucar at fedoraproject.org
Thu May 6 10:45:22 CEST 2021


Hi Kent,

On Wed, 5 May 2021 at 17:54, Kent Johnson <kjohnson at akoyabio.com> wrote:
>
> Hi,
>
> I am a maintainer of this package - https://github.com/akoyabio/rtree - originally inspired by this example - https://gallery.rcpp.org/articles/Rtree-examples/. This package wraps the rtree implementation from BH 1.7.2.0-3 to provide fast methods for finding points nearby to other points in large data sets.
>
>  I want to submit the package to CRAN but I have a CMD CHECK warning on Windows that I can't resolve.
>
> Running CMD CHECK from GitHub Actions, on Microsoft Windows Server 2019 10.0.17763, I get this error message:
>
> -- R CMD check results ---------------------------------------- rtree 0.2.0 ----
> Duration: 1m 42.7s
>
> > checking whether package 'rtree' can be installed ... WARNING
>   See below...
>
> 0 errors v | 1 warning x | 0 notes v
> Error: Error: R CMD check found WARNINGs
> Execution halted
> Error: Process completed with exit code 1.
>
> The full output is here: https://github.com/akoyabio/rtree/runs/2502841486?check_suite_focus=true
> The message says "See below..." but there is nothing below?

Below I see this:

* checking whether package 'rtree' can be installed ... WARNING
Found the following significant warnings:

  D:/a/_temp/Library/BH/include/boost/geometry/index/detail/varray_detail.hpp:544:13:
warning: 'void* memcpy(void*, const void*, size_t)' writing to an
object of type 'struct std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int>' with no trivial
copy-assignment; use copy-assignment or copy-initialization instead
[-Wclass-memaccess]

  D:/a/_temp/Library/BH/include/boost/geometry/index/detail/varray_detail.hpp:578:13:
warning: 'void* memcpy(void*, const void*, size_t)' writing to an
object of type 'struct std::pair<double,
boost::variant<boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int>,
boost::geometry::index::quadratic<16>,
boost::geometry::model::box<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::allocators<boost::container::new_allocator<std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int> >,
std::pair<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian>, unsigned int>,
boost::geometry::index::quadratic<16>,
boost::geometry::model::box<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::node_variant_static_tag>,
boost::geometry::index::detail::rtree::node_variant_static_tag>,
boost::geometry::index::detail::rtree::variant_internal_node<std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int>,
boost::geometry::index::quadratic<16, 4>,
boost::geometry::model::box<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::allocators<boost::container::new_allocator<std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int> >,
std::pair<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian>, unsigned int>,
boost::geometry::index::quadratic<16, 4>,
boost::geometry::model::box<boost::geometry::model::point<double, 2,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::node_variant_static_tag>,
boost::geometry::index::detail::rtree::node_variant_static_tag> >*>'
with no trivial copy-assignment; use copy-assignment or
copy-initialization instead [-Wclass-memaccess]

  D:/a/_temp/Library/BH/include/boost/geometry/index/detail/varray_detail.hpp:237:13:
warning: 'void* memcpy(void*, const void*, size_t)' writing to an
object of type 'struct std::pair<boost::geometry::model::point<double,
2, boost::geometry::cs::cartesian>, unsigned int>' with no trivial
copy-assignment; use copy-assignment or copy-initialization instead
[-Wclass-memaccess]

See 'D:/a/rtree/rtree/check/rtree.Rcheck/00install.out' for details.

And even more details if you download the artifacts of your build and
review that file. So it's a Boost thing, and there's probably nothing
you can do about it beyond talking to CRAN. There are packages on CRAN
with these warnings.

> Running on my local Windows 10 PC I get this warning and a note:
>
> -- R CMD check results ---------------------------------------- rtree 0.2.0 ----
> Duration: 1m 2.2s
>
> > checking whether package 'rtree' can be installed ... WARNING
>   See below...
>
> > checking compiled code ... NOTE
>   Note: information on .o files for x64 is not available
>   File 'C:/Research/rtree.Rcheck/rtree/libs/x64/rtree.dll':
>     Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
>     Found 'exit', possibly from 'exit' (C), 'stop' (Fortran)
>     Found 'printf', possibly from 'printf' (C)

This is problably a false positive.

-- 
Iñaki Úcar


More information about the Rcpp-devel mailing list