-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Package installation segfault error on CentOS #26
Comments
We are observing this same error on the R 4.3 migration over on Conda Forge. For us, R 4.2.3 works just fine. This issue only arises with R 4.3.0 build during the test phase. R version 4.3.0 (2023-04-21) -- "Already Tomorrow"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-conda-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library('leiden')
create conda environment (yes/no)?
no (use interactive mode)
using environment: NA
Unable to set up conda environment r-reticulate
run in terminal:
conda init
conda create -n r-reticulate
conda environment r-reticulate installed
python modules igraph and leidenalg installed
*** caught segfault ***
address 0xfffffffffffff020, 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(required_module, use_environment)
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("leidenalg")
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("leiden")
An irrecoverable exception occurred. R is aborting now ...
/home/conda/feedstock_root/build_artifacts/r-leiden_1687307043630/test_tmp/run_test.sh: line 7: 544 Segmentation fault (core dumped) $R -e "library('leiden')"
Tests failed for r-leiden-0.4.3-r43hc72bb7e_2.conda - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING:conda_build.build:Tests failed for r-leiden-0.4.3-r43hc72bb7e_2.conda - moving package to /home/conda/feedstock_root/build_artifacts/broken
TESTS FAILED: r-leiden-0.4.3-r43hc72bb7e_2.conda The Conda Forge build runs on the Docker image:
which corresponds to the identical CentOS 7.9.2009 as OP. |
Possibly a @ayushnoori could be helpful to report your |
Also, given the output we see on Conda Forge, I'd guess the failure happens here: Line 604 in 2a2045b
Edit: Actually, just noticed the traceback shows exactly the failure point. For OP, it is the above line, but for us that works and instead we fail the next test ( |
Fortunately, the issue seems to be resolved on my end. Unfortunately, I'm not quite sure why or how. I attempted to install Here's my
For now, I'm thrilled that the installation worked. I'll leave this issue open, though, since it seems the underlying problem may not be resolved. Time permitting, I can try and reproduce separately. |
WorkaroundWas able to get things working by pre-creating an mamba create -yn r-reticulate -c conda-forge pandas leidenalg umap-learn This effectively gets around the section(s) of problematic code (though perhaps kicking the can down the road for end users). RecommendationI would recommend the If you will suffer my unsolicited opinion, I regard the strategy of installing the Python packages that this requires into |
For the record we face the same problem at Bioconductor 3.19 on Linux ARM64 - https://bioconductor.org/checkResults/3.19/bioc-LATEST/APL/kunpeng2-install.html
|
CentOS 7 End of life is scheduled for 30th June, 2024. Therefore this issue will not be a priority. Please check that R is installed correctly as CentOS 7 has old versions of GCC and GLIBC installed by default. Note that updating these could affect other software and other users so it is not recommended. |
Hi there, I'm attempting to install
leiden
on CentOS 7.9.2009 and have encountered the following installation error. Would appreciate any assistance. Thanks!The text was updated successfully, but these errors were encountered: