RGLab / MAST

Tools and methods for analysis of single cell assay data in R
224 stars 57 forks source link

"R CMD check" failure on Linux ARM64 #179

Closed martin-g closed 1 year ago

martin-g commented 1 year ago

Hello,

There is an initiative to support Linux ARM64 for Bioconductor. Probably for 3.18. R CMD check MAST_1.25.1.tar.gz fails with this output:

biocbuild@kunpeng1 ~/git> R CMD build --keep-empty-dirs --no-resave-data MAST
* checking for file ‘MAST/DESCRIPTION’ ... OK
* preparing ‘MAST’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
WARNING: directory ‘MAST/docs/articles/MAITAnalysis_cache’ is empty
* building ‘MAST_1.25.1.tar.gz’
biocbuild@kunpeng1 ~/git> R CMD check MAST_1.25.1.tar.gz 
* using log directory ‘/home/biocbuild/git/MAST.Rcheck’
* using R Under development (unstable) (2023-03-12 r83975)
* using platform: aarch64-unknown-linux-gnu (64-bit)
* R was compiled by
    gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
    GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
* running under: Ubuntu 22.04.2 LTS
* using session charset: UTF-8
* checking for file ‘MAST/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘MAST’ version ‘1.25.1’
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... NOTE
Found the following hidden files and directories:
  .travis.yml
  .github
These were most likely included in error. See section ‘Package
structure’ in the ‘Writing R Extensions’ manual.
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘MAST’ can be installed ... OK
* checking installed package size ... NOTE
  installed size is 10.2Mb
  sub-directories of 1Mb or more:
    data   3.7Mb
    doc    5.2Mb
* checking package directory ... OK
* checking ‘build’ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of ‘data’ directory ... OK
* checking data for non-ASCII characters ... OK
* checking LazyData ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking installed files from ‘inst/doc’ ... OK
* checking files in ‘vignettes’ ... OK
* checking examples ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘testthat.R’
 ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
  [ FAIL 1 | WARN 26 | SKIP 5 | PASS 292 ]

  ══ Skipped tests ═══════════════════════════════════════════════════════════════
  • empty test (5)

  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-lrtest.R:25:5'): LRT and zlm are equivalent ──────────────────
  all(lrout$lrstat[smallDOF] >= lrout2[smallDOF, 3, 1]) is not TRUE

  `actual`:   FALSE
  `expected`: TRUE 

  [ FAIL 1 | WARN 26 | SKIP 5 | PASS 292 ]
  Error: Test failures
  Execution halted
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in ‘inst/doc’ ... OK
* checking running R code from vignettes ...
  ‘MAITAnalysis.Rmd’ using ‘UTF-8’... OK
  ‘MAST-Intro.Rmd’ using ‘UTF-8’... OK
  ‘MAST-interoperability.Rmd’ using ‘UTF-8’... OK
 NONE
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE

Status: 1 ERROR, 2 NOTEs
See
  ‘/home/biocbuild/git/MAST.Rcheck/00check.log’
for details.
amcdavid commented 1 year ago

Thanks for the report. Is there an EC2 image or similar that I could use to investigate this?

On Mon, Apr 3, 2023 at 4:36 AM Martin Grigorov @.***> wrote:

Hello,

There is an initiative to support Linux ARM64 for Bioconductor. Probably for 3.18. R CMD check MAST_1.25.1.tar.gz fails with this output:

@.*** ~/git> R CMD build --keep-empty-dirs --no-resave-data MAST

  • checking for file ‘MAST/DESCRIPTION’ ... OK
  • preparing ‘MAST’:
  • checking DESCRIPTION meta-information ... OK
  • installing the package to build vignettes
  • creating vignettes ... OK
  • checking for LF line-endings in source and make files and shell scripts
  • checking for empty or unneeded directories WARNING: directory ‘MAST/docs/articles/MAITAnalysis_cache’ is empty
  • building ‘MAST_1.25.1.tar.gz’

@.*** ~/git> R CMD check MAST_1.25.1.tar.gz

  • using log directory ‘/home/biocbuild/git/MAST.Rcheck’
  • using R Under development (unstable) (2023-03-12 r83975)
  • using platform: aarch64-unknown-linux-gnu (64-bit)
  • R was compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  • running under: Ubuntu 22.04.2 LTS
  • using session charset: UTF-8
  • checking for file ‘MAST/DESCRIPTION’ ... OK
  • checking extension type ... Package
  • this is package ‘MAST’ version ‘1.25.1’
  • package encoding: UTF-8
  • checking package namespace information ... OK
  • checking package dependencies ... OK
  • checking if this is a source package ... OK
  • checking if there is a namespace ... OK
  • checking for hidden files and directories ... NOTE Found the following hidden files and directories: .travis.yml .github These were most likely included in error. See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
  • checking for portable file names ... OK
  • checking for sufficient/correct file permissions ... OK
  • checking whether package ‘MAST’ can be installed ... OK
  • checking installed package size ... NOTE installed size is 10.2Mb sub-directories of 1Mb or more: data 3.7Mb doc 5.2Mb
  • checking package directory ... OK
  • checking ‘build’ directory ... OK
  • checking DESCRIPTION meta-information ... OK
  • checking top-level files ... OK
  • checking for left-over files ... OK
  • checking index information ... OK
  • checking package subdirectories ... OK
  • checking R files for non-ASCII characters ... OK
  • checking R files for syntax errors ... OK
  • checking whether the package can be loaded ... OK
  • checking whether the package can be loaded with stated dependencies ... OK
  • checking whether the package can be unloaded cleanly ... OK
  • checking whether the namespace can be loaded with stated dependencies ... OK
  • checking whether the namespace can be unloaded cleanly ... OK
  • checking dependencies in R code ... OK
  • checking S3 generic/method consistency ... OK
  • checking replacement functions ... OK
  • checking foreign function calls ... OK
  • checking R code for possible problems ... OK
  • checking Rd files ... OK
  • checking Rd metadata ... OK
  • checking Rd cross-references ... OK
  • checking for missing documentation entries ... OK
  • checking for code/documentation mismatches ... OK
  • checking Rd \usage sections ... OK
  • checking Rd contents ... OK
  • checking for unstated dependencies in examples ... OK
  • checking contents of ‘data’ directory ... OK
  • checking data for non-ASCII characters ... OK
  • checking LazyData ... OK
  • checking data for ASCII and uncompressed saves ... OK
  • checking installed files from ‘inst/doc’ ... OK
  • checking files in ‘vignettes’ ... OK
  • checking examples ... OK
  • checking for unstated dependencies in ‘tests’ ... OK
  • checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: [ FAIL 1 | WARN 26 | SKIP 5 | PASS 292 ]

    ══ Skipped tests ═══════════════════════════════════════════════════════════════ • empty test (5)

    ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-lrtest.R:25:5'): LRT and zlm are equivalent ────────────────── all(lrout$lrstat[smallDOF] >= lrout2[smallDOF, 3, 1]) is not TRUE

    actual: FALSE expected: TRUE

    [ FAIL 1 | WARN 26 | SKIP 5 | PASS 292 ] Error: Test failures Execution halted

  • checking for unstated dependencies in vignettes ... OK
  • checking package vignettes in ‘inst/doc’ ... OK
  • checking running R code from vignettes ... ‘MAITAnalysis.Rmd’ using ‘UTF-8’... OK ‘MAST-Intro.Rmd’ using ‘UTF-8’... OK ‘MAST-interoperability.Rmd’ using ‘UTF-8’... OK NONE
  • checking re-building of vignette outputs ... OK
  • checking PDF version of manual ... OK
  • DONE

Status: 1 ERROR, 2 NOTEs See ‘/home/biocbuild/git/MAST.Rcheck/00check.log’ for details.

— Reply to this email directly, view it on GitHub https://github.com/RGLab/MAST/issues/179, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALLAHRMADSUKNXDPDNGAVLW7KY2LANCNFSM6AAAAAAWRGBZ3A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

martin-g commented 1 year ago

At AWS you could use Graviton 2/3 instances for Linux ARM64. Any compatible Linux image should be OK. Otherwise please take a look at https://github.com/FrederickHuangLin/ANCOMBC/issues/163#issuecomment-1490443015 where another package maintainer recently asked me the same question.

amcdavid commented 1 year ago

Right on. How about a docker image or similar with Bioc devel for arm64?

On Mon, Apr 3, 2023 at 7:16 AM Martin Grigorov @.***> wrote:

At AWS you could use Graviton 2/3 instances for Linux ARM64. Any compatible Linux image should be OK. Otherwise please take a look at FrederickHuangLin/ANCOMBC#163 (comment) https://github.com/FrederickHuangLin/ANCOMBC/issues/163#issuecomment-1490443015 where another package maintainer recently asked me the same question.

— Reply to this email directly, view it on GitHub https://github.com/RGLab/MAST/issues/179#issuecomment-1494409813, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALLAHSSQU4FYW2OZDC5H4TW7LLSHANCNFSM6AAAAAAWRGBZ3A . You are receiving this because you commented.Message ID: @.***>

martin-g commented 1 year ago

Right now only ghcr.io/bioconductor/bioconductor:release_3_16 / bioconductor/bioconductor:release_3_16 is available for linux/arm64 - https://github.com/Bioconductor/bioconductor_docker/issues/64#issuecomment-1381968169 There is no similar for devel/3.17 because there is no such for R-devel (https://github.com/rocker-org/rocker-versioned2/issues/144)

amcdavid commented 1 year ago

Hi,

But couldn't reproduce this failure with devtools::check(). Guess it may be an R 4.2.3 vs R-devel issue. I don't have the bandwith to build R-devel from source on graviton to dig in further, but please do feel free to reopen once there is an established path for developers who don't have access to arm64 to debug these failures.

martin-g commented 1 year ago

Hi @amcdavid ! Thanks for trying!

Recently another Bioconductor developer went through the same and produced this Docker image - ghcr.io/grimbough/bioc-with-tinytex. He fixed an issue for Bioc 3.17, so I think the image is using R-devel.