[Bioc-devel] R 4.0.3 for Windows R CMD check finds 'abort'

Gordon K Smyth @myth @end|ng |rom weh|@edu@@u
Mon Oct 19 22:58:01 CEST 2020


Hi Martin and Vince,

Thanks for the responses.

I noticed first noticed this issue (false positive R CMD NOTE about abort) when it appeared with R-devel for Windows a few months ago. The same behaviour has now appeared in R 4.0.3. It is specific to Windows, R 4.0.3 or higher and Rtools40. It may also depend on how you run R CMD check. I run R CMD check at the Windows command prompt with Rtools40 and R 4.0.3 in the PATH. The NOTE appears for any package that contains Fortran, C or C++.

I had a discussion about it on StackOverflow a couple of days ago with two other CRAN package authors:
https://stackoverflow.com/questions/64402688/information-on-o-files-for-x64-is-not-available-note-on-r-package-checks-using

I submitted a package to CRAN several days ago and CRAN did not raise this NOTE as an issue, even though I can see the NOTE in my own R CMD checks for the same package. I have therefore decided to ignore it in future.

If you're interested, here is a small reproducible example. This example uses Rcpp, but I think that any src code will give the same NOTE:

  library(Rcpp)
  Rcpp.package.skeleton("TestPack", example_code = TRUE)
  library(devtools)
  install.package("devtools")
  check("TestPack")

This produces
  > checking compiled code ... NOTE
    Note: information on .o files for x64 is not available
    File 'C:/Users/smyth/AppData/Local/Temp/RtmpAdefZW/TestPack.Rcheck/TestPack/libs/x64/TestPack.dll':
      Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
      Found 'exit', possibly from 'exit' (C), 'stop' (Fortran)
      Found 'printf', possibly from 'printf' (C)

Session info:
> sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] devtools_2.3.2 usethis_1.6.3  Rcpp_1.0.5

loaded via a namespace (and not attached):
 [1] rstudioapi_0.11   magrittr_1.5      rcmdcheck_1.3.3   pkgload_1.1.0
 [5] R6_2.4.1          rlang_0.4.8       fansi_0.4.1       tools_4.0.3
 [9] pkgbuild_1.1.0    xopen_1.0.0       sessioninfo_1.1.1 cli_2.1.0
[13] withr_2.3.0       ellipsis_0.3.1    remotes_2.2.0     assertthat_0.2.1
[17] digest_0.6.25     rprojroot_1.3-2   crayon_1.3.4      processx_3.4.4
[21] callr_3.5.1       fs_1.5.0          ps_1.4.0          testthat_2.3.2
[25] memoise_1.1.0     glue_1.4.2        compiler_4.0.3    desc_1.2.0
[29] backports_1.1.10  prettyunits_1.1.1

------------------------------------------
Professor Gordon K Smyth
Joint Head, Bioinformatics Division
Walter and Eliza Hall Institute of Medical Research

> -----Original Message-----
> From: Martin Morgan <mtmorgan.bioc using gmail.com>
> Sent: Tuesday, 20 October 2020 4:41 AM
> To: Gordon K Smyth <smyth using wehi.edu.au>; bioc-devel using r-project.org
> Subject: Re: [Bioc-devel] R 4.0.3 for Windows R CMD check finds 'abort'
>
> Just to respond that I don't have a clear answer for you; I would guess that there
> is a change upstream of your package, and that the NOTE is spurious. If this also
> occurs on a non-Bioconductor Windows machine then it would be appropriate
> to bring this up on another forum, R-devel or R-package-devel
> (https://stat.ethz.ch/mailman/listinfo/r-package-devel), especially if the NOTE
> can be elicited by a trivial example package. I would assume that the NOTE is
> safe to ignore, but...
>
> I think the 'Dependency walker' utility could be used to investigate the DLL to
> identify where this comes from, but I don't have easy access to a Windows
> machine for this type of work.
>
> Martin Morgan
>
> On 10/16/20, 7:00 PM, "Bioc-devel on behalf of Gordon K Smyth" <bioc-devel-
> bounces using r-project.org on behalf of smyth using wehi.edu.au> wrote:
>
>     This is more an R question than a Bioconductor question, but I would be
> grateful if the Biocore team or other Bioc developers have any insight.
>
>     After upgrading to R 4.0.3 or R 4.1.0-devel, I find that running R CMD check
> under Windows now gives a worrying Note about .o files and 'abort'. The same
> warning occurs for all the packages I maintain that contain source code. The
> Note does not appear for R 4.0.2 or earlier.
>
>     An example of the Note is:
>
>     START QUOTE
>     * checking compiled code ... NOTE
>     Note: information on .o files for x64 is not available
>     File 'c:/Gordon/software/gitbioc/limma.Rcheck/limma/libs/x64/limma.dll':
>       Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
>       Found 'exit', possibly from 'exit' (C), 'stop' (Fortran)
>       Found 'printf', possibly from 'printf' (C)
>
>     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. The detected symbols are linked into the code but
>     might come from libraries and not actually be called.
>     END QUOTE
>
>     I am baffled by the Note because my code does not contain any of the
> offending functions (abort, exit or printf) that the Note accuses me of.
> Surprisingly I can't find any recent chatter about this Note on the R-devel mailing
> list. There no mention of it in the Rtools documentation. I have also searched
> the R manual on Writing R Extensions but can't find anything that would cause a
> Windows-specific note.
>
>     I see from the build/check reports for Bioconductor 3.12 that I am not alone.
> The same Note appears in the Windows check logs for a very large number of
> Bioconductor packages, for example Biobase:
>
>     http://bioconductor.org/checkResults/devel/bioc-LATEST/Biobase/riesling1-
> checksrc.html
>
>     I am guessing that the same Note now appears in the Windows check log for
> every Bioconductor package that contains any C or Fortran source code. The
> Note does not appear in the Linux or Mac check logs for the same packages.
>
>     My questions are:
>     1. Does anyone know what is causing this Note.
>     2. Can I fix the note? If not, can I ignore it?
>
>     I also wonder whether this Note will cause the CRAN maintainers to not
> accept my package submissions, but that is perhaps a question for another
> forum.
>
>     Thanks for any insights
>     Gordon
>
>     ------------------------------------------
>     Professor Gordon K Smyth
>     Joint Head, Bioinformatics Division
>     Walter and Eliza Hall Institute of Medical Research
>
>     _______________________________________________
>
>     The information in this email is confidential and intended solely for the
> addressee.
>     You must not disclose, forward, print or use it without the permission of the
> sender.
>
>     The Walter and Eliza Hall Institute acknowledges the Wurundjeri people of the
> Kulin
>     Nation as the traditional owners of the land where our campuses are located
> and
>     the continuing connection to country and community.
>     _______________________________________________
>
>     [[alternative HTML version deleted]]
>
>     _______________________________________________
>     Bioc-devel using r-project.org mailing list
>     https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________

The information in this email is confidential and intended solely for the addressee.
You must not disclose, forward, print or use it without the permission of the sender.

The Walter and Eliza Hall Institute acknowledges the Wurundjeri people of the Kulin
Nation as the traditional owners of the land where our campuses are located and
the continuing connection to country and community.
_______________________________________________


More information about the Bioc-devel mailing list