[Bioc-devel] rfaRm suddenly failing on all platforms
Hervé Pagès
hp@ge@@on@g|thub @end|ng |rom gm@||@com
Mon Mar 15 01:55:43 CET 2021
Hi Lara,
When you're trying to reproduce an error that you see on the build
system, it's important that you make sure that you're using the latest
version of all CRAN and Bioconductor packages. You can use
BiocManager::valid() for that:
> library(BiocManager)
Bioconductor version 3.12 (BiocManager 1.30.10),
?BiocManager::install for help
> valid()
[1] TRUE
With this, I can reproduce the rfaRm error on my laptop. It occurs in
the rfamGetClanDefinitions() function which is called at installation
time to initialize the 'rfamClanDefinitions' internal variable. The
error can be reproduced with:
library(xml2)
library(rvest)
rfamClanLookUpURL <- 'http://rfam.xfam.org/clan/'
rfamClansListURL <- "http://rfam.xfam.org/clans"
clanHTMLTable <- html_table(xml_find_all(read_html(rfamClansListURL),
"//table[@id]"))
clanAccessions <- clanHTMLTable[[1]][,3]
for (clan in clanAccessions) {
read_html(paste(rfamClanLookUpURL, clan, sep=""))
}
# Error: `x` must be a string of length 1
See my sessionInfo() below.
Note that CRAN package rvest got recently update (on March 9) from
version 0.3.6 to 1.0.0 (see https://cran.r-project.org/package=rvest)
and I suspect that the above error might be related to a change in the
rvest::html_table() function.
Finally I would advice against accessing remote resources to initialize
an internal variable at installation time like you do with for
'rfamClanDefinitions'. Better do it at **load time** with something like
this:
1. Replace
rfamClanDefinitions <- rfamGetClanDefinitions()
with
rfamClanDefinitions <- NULL
2. Create a zzz.R file and add the following onLoad hook to it:
.onLoad <- function(libname, pkgname)
{
rfamClanDefinitions <<- rfamGetClanDefinitions()
}
Hope this helps,
H.
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.10
Matrix products: default
BLAS: /home/hpages/R/R-4.0.3/lib/libRblas.so
LAPACK: /home/hpages/R/R-4.0.3/lib/libRlapack.so
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
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rvest_1.0.0 xml2_1.3.2
loaded via a namespace (and not attached):
[1] httr_1.4.2 compiler_4.0.3 ellipsis_0.3.1 magrittr_2.0.1
[5] R6_2.5.0 pillar_1.5.1 tibble_3.1.0 curl_4.3
[9] crayon_1.4.1 utf8_1.2.1 fansi_0.4.2 vctrs_0.3.6
[13] lifecycle_1.0.0 pkgconfig_2.0.3 rlang_0.4.10
On 3/13/21 3:47 AM, Selles Vidal, Lara wrote:
> Dear all,
>
> I have recently observed that my package rfaRm started failing at INSTALL step on all platforms (http://bioconductor.org/checkResults/release/bioc-LATEST/rfaRm/ ).
>
> In all cases, the error is the same and occurs both in release and devel:
>
>
> Error : `x` must be a string of length 1
>
> Error: unable to load R code in package �rfaRm�
>
> This is quite puzzling, since we have not pushed any changes recently. Additionally, I have confirmed I can install rfaRm with no problem through standard procedure from Bioconductor.
>
> Does anyone have any idea what could be possible happening?
>
> Thanks a lot in advance.
>
> Best wishes,
>
> Lara
>
>
>
> Lara Selles
> lara.selles12 using imperial.ac.uk
>
>
>
>
>
>
>
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
--
Hervé Pagès
Bioconductor Core Team
hpages.on.github using gmail.com
More information about the Bioc-devel
mailing list