trying to generate an object from a virtual class ("DataFrame")
1
0
Entering edit mode
@6f6493f5
Last seen 4 days ago
Bulgaria

Hello,

I am trying to build https://github.com/LTLA/InteractionSet locally but it fails with:

R CMD build .
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘InteractionSet’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘interactions.Rmd’ using rmarkdown
Quitting from lines 64-65 (interactions.Rmd)
Error: processing vignette 'interactions.Rmd' failed with diagnostics:
trying to generate an object from a virtual class ("DataFrame")
--- failed re-building ‘interactions.Rmd’

SUMMARY: processing the following file failed:
‘interactions.Rmd’

Error: Vignette re-building failed.
Execution halted


I faced the problem while trying to build the package on Linux ARM64, but as you can see below it fails the same way on Linux x86_64. The official build seems to be OK: https://bioconductor.org/checkResults/3.17/bioc-LATEST/InteractionSet/ Do I miss some step/prerequisite ? Please let me know if you need more information!

sessionInfo()


# include your problematic code here with any corresponding output
# please also include the results of running the following in an R session

R version 4.2.2 Patched (2022-11-10 r83330)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
[1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8       LC_NAME=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

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

loaded via a namespace (and not attached):
[1] compiler_4.2.2

InteractionSet BuildReport • 125 views
0
Entering edit mode

Note that only the CRAN dependencies are automatically taken care of, not the Bioc dependencies which you are missing here. Do as suggested with BiocManager::install() or install the dependencies first manually.

0
Entering edit mode
@james-w-macdonald-5106
Last seen 10 hours ago
United States

Why are you using a direct download rather than installing using BiocManager? The InteractionSet package has a set of dependencies, and if your sessionInfo is accurate, you have either not loaded or not installed those dependencies. You evidently don't have S4Vectors installed or loaded, because you are instanciating DataFrame as a virtual class rather than loading the class definitions provided in that package. Whereas if you simply did

library(BiocManager)
install("InteractionSet")


You would get all the dependencies installed, as well as the InteractionSet package

0
Entering edit mode

Thanks for your replies!

I am trying to build and check packages as https://bioconductor.org/checkResults/3.17/bioc-LATEST does, not to download and use a pre-existing package.

Basically what I am doing is:

1. git clone .../packageName && cd packageName
2. R CMD build .
3. R CMD check packageName-VERSION.tar.gz

The first execution of step 2 usually fails with error like ERROR: dependencies 'dep1', 'dep2' are not available for package 'X'. I install them with

BiocManager::install(c("dep1", "dep2", ...), type = "source", checkBuilt = TRUE)


and re-try step 2. I am pretty sure S4Vectors is one of these dependencies which I installed! But I have no idea why it is not loaded!

Martin