Dear all:

 I am new to this list and I am using Rcpp for my first large and serious 
package, so
I apologize if probably this is a naive question, but I have browsed the web 
and looked
at the stored mail messages of this list from the beginning of this year 
without finding
an answer.

 My package passed the checks and I was about to try uploading to CRAN but this 
morning
I have updated all R packages (including Rcpp and devtools) and now the package 
fails the
check because of two warnings. These are

Found ‘abort’, possibly from ‘abort’ (C)
      Objects: ‘RcppExports.o’, ‘fullmatrix.o’, ‘jmatrix.o’,
        ‘matgetcols.o’, ‘matgetdiag.o’, ‘matgetrows.o’, ‘matmetadata.o’,
        ‘matwrite.o’, ‘memhelper.o’, ‘sparsematrix.o’,
        ‘symmetricmatrix.o’, ‘teststop.o’
    Found ‘printf’, possibly from ‘printf’ (C)
      Objects: ‘RcppExports.o’, ‘fullmatrix.o’, ‘jmatrix.o’,
        ‘matgetcols.o’, ‘matgetdiag.o’, ‘matgetrows.o’, ‘matmetadata.o’,
        ‘matwrite.o’, ‘memhelper.o’, ‘sparsematrix.o’,
        ‘symmetricmatrix.o’, ‘teststop.o’

I don't call abort, exit or any similar C library function and all my
interaction are through Rcpp::Rcout, Rcpp::Rcerr, Rcpp::warning and
Rcpp::stop.

After some checks, I have found that this happens when I use
Rcpp::warning and Rcpp::stop. Indeed, with a code like this in testtstop.cpp

#include <Rcpp.h>

void test()
{
 Rcpp::Rcout << "This is the standard output\n";
 Rcpp::Rcerr << "This is the standard error\n";
 Rcpp::warning("This is a warning\n");
 Rcpp::stop("This should stop the program.\n");
 return;
}

the object teststop.o disappears from the list of those which annoy
devtools:check when I comment the lines with Rcpp::warning and Rcpp::stop.

As a last resort, I have tried to download the sources of the Rcpp
package itself and compile/check in the same way, to convince myself
that the failure might be there. And indeed, I have got this:

W  checking compiled code ...
   File ‘Rcpp/libs/Rcpp.so’:
     Found ‘abort’, possibly from ‘abort’ (C)
       Objects: ‘attributes.o’, ‘module.o’
     Found ‘printf’, possibly from ‘printf’ (C)
       Objects: ‘attributes.o’, ‘module.o’

   Compiled code should not call entry points which might terminate R nor
   write to stdout/stderr instead of to the console, nor use Fortran I/O
   nor system RNGs.

An abort function is effectively called from file inst/include/Rcpp/r_cast.h
at lines 75 and 129.

Might this be the cause of the check failure?

I know that this seems more a problem from devtools:check than from Rcpp, but
it is much more likely that I am totally misunderstanding the question, since
this would prevent any package done with Rcpp to be uploaded to CRAN and many
people would have already noticed.

 So again, I reiterate my apologies and if you are so kind to point me to
appropriate documentation to solve the issue, I would be very grateful.

 Sincerely

  Juan
--
________________________________________________________________
Juan Domingo Esteve
Dept. of Informatics, School of Engineering
University of Valencia
Avda. de la Universidad, s/n.
        46100-Burjasot (Valencia)
           SPAIN

Telephone:      +34-963543572
Fax:            +34-963543550
email:  juan.domi...@uv.es
________________________________________________________________
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to