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

Dirk Eddelbuettel edd at debian.org
Thu May 6 14:42:22 CEST 2021


On 6 May 2021 at 10:45, IƱaki Ucar wrote:
| 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.

But for me it actually failed to build at
 - RHub
 - win-builder r-release
 - win-builder r-devel
when I submitted an unchanged tarball (with me as maintainer to get the result). 

So there may be more going on.  Could just be a setup issue which happens at
RHub and win-builder.  But Boost Geometry may be a more dicey part of Boost.

| > 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.

Maybe. Maybe not. It does not seem to reproduce on Linux.

Dirk

-- 
https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list