Hi again,
I tried to find the problem by (un)installing any (pip) global
installations of pandas, leidenalg, umap-learn, igraph and python-igraph,
and then installing them with biocbuild's pip, i.e. non-root user, via
reticulate but the error persists!
Then I tried:
reticulate::py_module_available("numpy")
*** caught segfault ***
address 0x90, cause 'memory not mapped'
Traceback:
1: py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0", interactive(),
numpy_load_error)
2: (function() { Sys.setenv(PYTHONPATH = newpythonpath)
on.exit(Sys.setenv(PYTHONPATH = oldpythonpath), add = TRUE)
py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0", interactive(),
numpy_load_error)})()
3: doTryCatch(return(expr), name, parentenv, handler)
4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
5: tryCatchList(expr, classes, parentenv, handlers)
6: tryCatch({ oldpythonpath <- Sys.getenv("PYTHONPATH")
newpythonpath <- Sys.getenv("RETICULATE_PYTHONPATH", unset =
paste(config$pythonpath, system.file("python", package =
"reticulate"), sep = .Platform$path.sep)) local({
Sys.setenv(PYTHONPATH = newpythonpath)
on.exit(Sys.setenv(PYTHONPATH = oldpythonpath), add = TRUE)
py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0",
interactive(), numpy_load_error) })}, error = function(e) {
Sys.setenv(PATH = oldpath) if (is.na(curr_session_env)) {
Sys.unsetenv("R_SESSION_INITIALIZED") } else {
Sys.setenv(R_SESSION_INITIALIZED = curr_session_env) } stop(e)})
7: initialize_python()
8: ensure_python_initialized(required_module = module)
9: import(module)
10: doTryCatch(return(expr), name, parentenv, handler)
11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
12: tryCatchList(expr, classes, parentenv, handlers)
13: tryCatch({ import(module) TRUE}, error =
clear_error_handler(FALSE))
14: reticulate::py_module_available("numpy")
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
That is, reticulate::py_module_available("XYZ") always fails with a
segfault.
R Under development (unstable) (2024-01-16 r85812)
Platform: aarch64-unknown-linux-gnu
Running under: openEuler 22.03 (LTS-SP1)
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.18.so; LAPACK version 3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB 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
time zone: UTC
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] reticulate_1.35.0
loaded via a namespace (and not attached):
[1] compiler_4.4.0 Matrix_1.6-5 cli_3.6.2 tools_4.4.0
Rcpp_1.0.12
[6] grid_4.4.0 jsonlite_1.8.8 rlang_1.1.3 png_0.1-8
lattice_0.22-5
On Mon, Feb 5, 2024 at 9:39?AM Martin Grigorov <martin.grigorov at gmail.com>
wrote:
Hi ,
ReactomeGSA.data package fails to install because it depends on leiden
and Seurat
BiocManager::install("ReactomeGSA.data", force = TRUE)
Bioconductor version 3.19 (BiocManager 1.30.22), R Under development
(unstable)
(2024-01-16 r85812)
Installing package(s) 'ReactomeGSA.data'
also installing the dependencies ?leiden?, ?Seurat?
trying URL '
https://cloud.r-project.org/src/contrib/leiden_0.4.3.1.tar.gz'
Content type 'application/x-gzip' length 2864241 bytes (2.7 MB)
==================================================
downloaded 2.7 MB
trying URL 'https://cloud.r-project.org/src/contrib/Seurat_5.0.1.tar.gz'
Content type 'application/x-gzip' length 2225638 bytes (2.1 MB)
==================================================
downloaded 2.1 MB
trying URL '
https://bioconductor.org/packages/3.19/data/experiment/src/contrib/ReactomeGSA.data_1.17.1.tar.gz
'
Content type 'application/x-gzip' length 24200519 bytes (23.1 MB)
==================================================
downloaded 23.1 MB
* installing *source* package ?leiden? ...
** package ?leiden? successfully unpacked and MD5 sums checked
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
*** caught segfault ***
address 0x90, cause 'memory not mapped'
Traceback:
1: py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0", interactive(),
numpy_load_error)
2: (function() { Sys.setenv(PYTHONPATH = newpythonpath)
on.exit(Sys.setenv(PYTHONPATH = oldpythonpath), add = TRUE)
py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0", interactive(),
numpy_load_error)})()
3: doTryCatch(return(expr), name, parentenv, handler)
4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
5: tryCatchList(expr, classes, parentenv, handlers)
6: tryCatch({ oldpythonpath <- Sys.getenv("PYTHONPATH")
newpythonpath <- Sys.getenv("RETICULATE_PYTHONPATH", unset =
paste(config$pythonpath, system.file("python", package =
"reticulate"), sep = .Platform$path.sep)) local({
Sys.setenv(PYTHONPATH = newpythonpath)
on.exit(Sys.setenv(PYTHONPATH = oldpythonpath), add = TRUE)
py_initialize(config$python, config$libpython, config$pythonhome,
config$virtualenv_activate, config$version >= "3.0",
interactive(), numpy_load_error) })}, error = function(e) {
Sys.setenv(PATH = oldpath) if (is.na(curr_session_env)) {
Sys.unsetenv("R_SESSION_INITIALIZED") } else {
Sys.setenv(R_SESSION_INITIALIZED = curr_session_env) } stop(e)})
7: initialize_python()
8: ensure_python_initialized(required_module = module)
9: import(module)
10: doTryCatch(return(expr), name, parentenv, handler)
11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
12: tryCatchList(expr, classes, parentenv, handlers)
13: tryCatch({ import(module) TRUE}, error =
clear_error_handler(FALSE))
14: reticulate::py_module_available("pandas")
15: fun(libname, pkgname)
16: doTryCatch(return(expr), name, parentenv, handler)
17: tryCatchOne(expr, names, parentenv, handlers[[1L]])
18: tryCatchList(expr, classes, parentenv, handlers)
19: tryCatch(fun(libname, pkgname), error = identity)
20: runHook(".onAttach", ns, dirname(nspath), nsname)
21: attachNamespace(ns, pos = pos, deps, exclude, include.only)
22: doTryCatch(return(expr), name, parentenv, handler)
23: tryCatchOne(expr, names, parentenv, handlers[[1L]])
24: tryCatchList(expr, classes, parentenv, handlers)
25: tryCatch({ attr(package, "LibPath") <- which.lib.loc ns <-
loadNamespace(package, lib.loc) env <- attachNamespace(ns, pos = pos,
deps, exclude, include.only)}, error = function(e) { P <- if
(!is.null(cc <- conditionCall(e))) paste(" in", deparse(cc)[1L])
else "" msg <- gettextf("package or namespace load failed for %s%s:\n
%s", sQuote(package), P, conditionMessage(e)) if (logical.return
&& !quietly) message(paste("Error:", msg), domain = NA) else
stop(msg, call. = FALSE, domain = NA)})
26: library(pkg_name, lib.loc = lib, character.only = TRUE,
logical.return = TRUE)
27: withCallingHandlers(expr, packageStartupMessage = function(c)
tryInvokeRestart("muffleMessage"))
28: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
character.only = TRUE, logical.return = TRUE))
29: doTryCatch(return(expr), name, parentenv, handler)
30: tryCatchOne(expr, names, parentenv, handlers[[1L]])
31: tryCatchList(expr, classes, parentenv, handlers)
32: tryCatch(expr, error = function(e) { call <- conditionCall(e)
if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch)))
call <- sys.call(-4L) dcall <- deparse(call, nlines =
1L) prefix <- paste("Error in", dcall, ": ") LONG <- 75L
sm <- strsplit(conditionMessage(e), "\n")[[1L]] w <- 14L +
nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if (is.na(w))
w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
type = "b") if (w > LONG) prefix <- paste0(prefix,
"\n ") } else prefix <- "Error : " msg <- paste0(prefix,
conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if
(!silent && isTRUE(getOption("show.error.messages"))) { cat(msg,
file = outFile) .Internal(printDeferredWarnings()) }
invisible(structure(msg, class = "try-error", condition = e))})
33: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
character.only = TRUE, logical.return = TRUE)))
34: tools:::.test_load_package("leiden",
"/home/biocbuild/R/R-devel_2024-01-16_r85812/site-library/00LOCK-leiden/00new")
An irrecoverable exception occurred. R is aborting now ...
ERROR: loading failed
* removing
?/home/biocbuild/R/R-devel_2024-01-16_r85812/site-library/leiden?
ERROR: dependency ?leiden? is not available for package ?Seurat?
* removing
?/home/biocbuild/R/R-devel_2024-01-16_r85812/site-library/Seurat?
ERROR: dependency ?Seurat? is not available for package
?ReactomeGSA.data?
* removing
?/home/biocbuild/R/R-devel_2024-01-16_r85812/site-library/ReactomeGSA.data?
The downloaded source packages are in
?/home/biocbuild/tmp/RtmpjFiqDm/downloaded_packages?
Warning messages:
1: In install.packages(...) :
installation of package ?leiden? had non-zero exit status
2: In install.packages(...) :
installation of package ?Seurat? had non-zero exit status
3: In install.packages(...) :
installation of package ?ReactomeGSA.data? had non-zero exit status
Any hints on what is the problem ?
Martin
On Fri, Feb 2, 2024 at 9:52?AM Griss Johannes <
johannes.griss at meduniwien.ac.at> wrote:
Dear Herv?,
Thanks a lot for the explanation and clarification! Issue should be
fixed by now.
Kind regards,
Johannes
Am 2024-02-02 01:37, schrieb Herv? Pag?s:
Just to clarify: we build the vignettes on all platforms, via 'R CMD
build'. However when a package contains more than one vignette like here,
keep in mind that 'R CMD build' evaluates them all in the same R session.
This "feature" can help a vignette succeed even if it's broken. For example
if ReactomeGSA got loaded by a previous vignette then evaluation of
reanalysing-public-data.Rmd would still succeed even though it doesn't do
'library(ReactomeGSA)'.
To complicate things even more, it could be that the order in which
vignettes are evaluated is platform-dependent. This could explain why a
vignette succeeds on one platform and not the other.
Best,
H.
On 2/1/24 13:30, Johannes Griss wrote:
Hi,
Thanks a lot for the quick reply!
Vignette is already fixed and committed.
Kind regards,
Johannes
On 01.02.24 22:24, Martin Grigorov wrote:
Hi,
On Thu, 1 Feb 2024 at 23:05, Jennifer Wokaty <
Jennifer.Wokaty at sph.cuny.edu <mailto:Jennifer.Wokaty at sph.cuny.edu>
<Jennifer.Wokaty at sph.cuny.edu>> wrote:
Hi Johannes,
Looking at R CMD Check on devel, it looks like you're missing a
`library(ReactomeGSA)` in reanalysing-public-data.Rmd, which is why
it doesn't find the function `get_public_species()`. We only build
the vignettes on the Linux builders, which this error is only
caught
there.
Regarding the error kunpeng2, we could ask its maintainer to
install
ReactomeGSA.data, which appears to be missing. If this happens
again, you can reach out to Martin on the Bioc Community Slack
channel #arm-linux. He's very active and responsive.
I will take a look early next week!
Martin
Lastly, regarding the notification that happened on the 2024/01/08,
it's possible that it failed due to an issue with another package
at
that time which has since been resolved.
Jennifer Wokaty (they/them)
Waldron Lab at CUNY SPH
Bioconductor Core Team