kharchenkolab / pagoda2

R package for analyzing and interactively exploring large-scale single-cell RNA-seq datasets
204 stars 47 forks source link

Installation problem #78

Closed kunUCSD closed 4 years ago

kunUCSD commented 5 years ago

Hi there,

I'm trying to install the Pagoda2 on the linux server but failed. Here is the things I tried: I installed the R and Rstudio via the conda. Then, inside R, I followed the website instruction. When I install the Cairo package, I met the error:

ERROR: configuration failed for package ‘Cairo’

I tried to export the conda PATH via: $export PATH="/home/user/anaconda/bin:$PATH", and still met the same issue. The server doesn't allow me to use apt-get or sudo. Any suggestions and help will be appreciated!

Thanks, Best, Kun

pkharchenko commented 5 years ago

I am not familiar with conda installation procedures, but Cairo is a very commercial n package. I would suggest just testing this step (e.g. install.packages(“Cairo”) ). Most likely, you’re missing libcairo on the system. In the worst case, just check out the pagoda2 repo and remove Cairo from the dependencies - it’s only needed in rare cases. Best, -peter.

On Feb 11, 2019, at 17:21, KunUCSD notifications@github.com wrote:

Hi there,

I'm trying to install the Pagoda2 on the linux server but failed. Here is the things I tried: I installed the R and Rstudio via the conda. Then, inside R, I followed the website instruction. When I install the Cairo package, I met the error:

ERROR: configuration failed for package ‘Cairo’

removing ‘/home/kutan/anaconda2/lib/R/library/Cairo’ Warning in install.packages : installation of package ‘Cairo’ had non-zero exit status I tried to export the conda PATH via: $export PATH="/home/user/anaconda/bin:$PATH", and still met the same issue. The server doesn't allow me to use apt-get or sudo. Any suggestions and help will be appreciated!

Thanks, Best, Kun

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

kunUCSD commented 5 years ago

Thanks Peter for your reply. I already tried "install.packages(“Cairo”)" It doesn't work. I also tried to install the Cairo via conda "conda install -c r r-cairo" and failed again. If I omit this and install the Pagoda2 via "install_github("hms-dbmi/pagoda2")" and got the same error: ERROR: configuration failed for package ‘Cairo’

pkharchenko commented 5 years ago

If you don’t want to spend time figuring out how to install Cairo lib in userspace, I suggest the second option - removing Cairo dependency.

-peter.

On Feb 11, 2019, at 19:28, KunUCSD notifications@github.com wrote:

Thanks Peter for your reply. I already tried "install.packages(“Cairo”)" It doesn't work. I also tried to install the Cairo via conda "conda install -c r r-cairo" and failed again. If I omit this and install the Pagoda2 via "install_github("hms-dbmi/pagoda2")" and got the same error: ERROR: configuration failed for package ‘Cairo’

removing ‘/home/kutan/anaconda2/lib/R/library/Cairo’ Error in i.p(...) : (converted from warning) installation of package ‘Cairo’ had non-zero exit status Seems that the Cairo-dev is a requirement... Best, Kun — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kunUCSD commented 5 years ago

Hi Peter,

I tried this: install_github("hms-dbmi/pagoda2", dependencies = FALSE) Still has the error:

install_github("hms-dbmi/pagoda2",dependencies = FALSE) Downloading GitHub repo hms-dbmi/pagoda2@master ✔ checking for file ‘/tmp/RtmpzxO7WL/remotescfd376f7d63f/hms-dbmi-pagoda2-656cf6a/DESCRIPTION’ ... ─ preparing ‘pagoda2’: ✔ checking DESCRIPTION meta-information ... ─ cleaning src ─ checking for LF line-endings in source and make files and shell scripts (434ms) ─ checking for empty or unneeded directories ─ building ‘pagoda2_0.0.0.9003.tar.gz’ Warning: invalid uid value replaced by that for user 'nobody'

ERROR: dependency ‘Cairo’ is not available for package ‘pagoda2’

Do you mean other approach?

Best, Kun

evanbiederstedt commented 4 years ago

Best to check here: https://cran.r-project.org/web/packages/Cairo/index.html

fhermans27 commented 3 years ago

Hi there, I'm actually having a similar issue - actually when installing conos, the pagoda2 install went fine. I'd like to try to suggestion by @pkharchenko to remove the Cairo dependency, but I don't know how to proceed... How can I do this? Thanks, Florian

evanbiederstedt commented 3 years ago

Hi @fhermans27

Have you tried installing pagoda2 from CRAN using the binaries? https://cran.r-project.org/web/packages/pagoda2/index.html

Cairo is a fairly standard R package: https://cran.r-project.org/web/packages/Cairo/index.html

Based on your operating system, you'll probably need to install some libraries: https://www.cairographics.org/download/

In terms of proceeding, if you show me some output files and the command you're using to install the package, I might be able to help more.

Best, Evan

fhermans27 commented 3 years ago

Hi Evan,

Thanks for your reply. I am working on a HPC cluster, and am working in a Jupyter Notebook through conda. So, I am trying to install both pagoda2 and conos in my conda environment. I replied to this thread since the issues seemed related. My apologies if I had been better to post this to the conos repository.

I installed pagoda2 using

library(devtools)

install.packages('p2data', repos='https://kharchenkolab.github.io/drat/', type='source')

install.packages('pagoda2')

This worked fine. Next, I wanted to install conos, and used the following:

devtools::install_github("kharchenkolab/conos")

which gave me the following output:

Downloading GitHub repo kharchenkolab/conos@master sccore (0.1.1 -> 4f978bdec...) [GitHub] ComplexHe... (NA -> b3b0f920b...) [GitHub] Matrix (1.2-17 -> 1.3-2 ) [CRAN] igraph (1.2.4.1 -> 1.2.6 ) [CRAN] cowplot (1.0.0 -> 1.1.1 ) [CRAN] dendextend (NA -> 1.14.0 ) [CRAN] dplyr (0.8.0.1 -> 1.0.4 ) [CRAN] entropy (NA -> 1.2.1 ) [CRAN] ggplot2 (3.1.1 -> 3.3.3 ) [CRAN] ggrepel (0.8.1 -> 0.9.1 ) [CRAN] magrittr (1.5 -> 2.0.1 ) [CRAN] Matrix.utils (NA -> 0.9.8 ) [CRAN] reshape2 (1.4.3 -> 1.4.4 ) [CRAN] RcppArmad... (0.9.300.2.0 -> 0.10.2.1.0 ) [CRAN] RcppProgress (0.4.1 -> 0.4.2 ) [CRAN] rlang (0.3.4 -> 0.4.10 ) [CRAN] shiny (1.3.2 -> 1.6.0 ) [CRAN] RcppEigen (0.3.3.5.0 -> 0.3.3.9.1 ) [CRAN] lattice (0.20-38 -> 0.20-41 ) [CRAN] pkgconfig (2.0.2 -> 2.0.3 ) [CRAN] scales (1.0.0 -> 1.1.1 ) [CRAN] circlize (NA -> 0.4.12 ) [CRAN] GetoptLong (NA -> 1.0.5 ) [CRAN] clue (NA -> 0.3-58 ) [CRAN] ellipsis (0.1.0 -> 0.3.1 ) [CRAN] generics (0.0.2 -> 0.1.0 ) [CRAN] glue (1.3.1 -> 1.4.2 ) [CRAN] lifecycle (0.1.0 -> 0.2.0 ) [CRAN] R6 (2.4.0 -> 2.5.0 ) [CRAN] tibble (2.1.1 -> 3.0.6 ) [CRAN] tidyselect (0.2.5 -> 1.1.0 ) [CRAN] vctrs (0.2.2 -> 0.3.6 ) [CRAN] digest (0.6.18 -> 0.6.27 ) [CRAN] isoband (NA -> 0.2.3 ) [CRAN] MASS (7.3-51.3 -> 7.3-53.1 ) [CRAN] mgcv (1.8-28 -> 1.8-33 ) [CRAN] withr (2.1.2 -> 2.4.1 ) [CRAN] grr (NA -> 0.9.5 ) [CRAN] plyr (1.8.4 -> 1.8.6 ) [CRAN] httpuv (1.5.1 -> 1.5.5 ) [CRAN] mime (0.6 -> 0.10 ) [CRAN] jsonlite (1.6 -> 1.7.2 ) [CRAN] htmltools (0.3.6 -> 0.5.1.1 ) [CRAN] later (0.8.0 -> 1.1.0.1 ) [CRAN] promises (1.0.1 -> 1.2.0.1 ) [CRAN] crayon (1.3.4 -> 1.4.1 ) [CRAN] fastmap (1.0.1 -> 1.1.0 ) [CRAN] bslib (NA -> 0.2.4 ) [CRAN] cachem (NA -> 1.0.4 ) [CRAN] uwot (0.1.4 -> 0.1.10 ) [CRAN] testthat (2.2.1 -> 3.0.2 ) [CRAN] nlme (3.1-139 -> 3.1-152 ) [CRAN] labeling (0.3 -> 0.4.2 ) [CRAN] cli (1.1.0 -> 2.3.0 ) [CRAN] fansi (0.4.0 -> 0.4.2 ) [CRAN] pillar (1.3.1 -> 1.4.7 ) [CRAN] brio (NA -> 1.1.1 ) [CRAN] callr (3.2.0 -> 3.5.1 ) [CRAN] evaluate (0.13 -> 0.14 ) [CRAN] pkgload (1.0.2 -> 1.1.0 ) [CRAN] processx (3.3.0 -> 3.4.5 ) [CRAN] ps (1.3.0 -> 1.5.0 ) [CRAN] waldo (NA -> 0.2.4 ) [CRAN] rprojroot (1.3-2 -> 2.0.2 ) [CRAN] pkgbuild (1.0.5 -> 1.2.0 ) [CRAN] rstudioapi (0.10 -> 0.13 ) [CRAN] diffobj (NA -> 0.3.3 ) [CRAN] rematch2 (NA -> 2.1.2 ) [CRAN] prettyunits (1.0.2 -> 1.1.1 ) [CRAN] shape (NA -> 1.4.5 ) [CRAN] cluster (2.0.8 -> 2.1.1 ) [CRAN] purrr (0.3.2 -> 0.3.4 ) [CRAN] stringi (1.4.3 -> 1.5.3 ) [CRAN] BH (1.69.0-1 -> 1.75.0-0 ) [CRAN] sass (NA -> 0.3.1 ) [CRAN] jquerylib (NA -> 0.1.3 ) [CRAN] fs (1.2.7 -> 1.5.0 ) [CRAN] rappdirs (0.3.1 -> 0.3.3 ) [CRAN] RSpectra (0.15-0 -> 0.16-0 ) [CRAN] RcppAnnoy (0.0.12 -> 0.0.18 ) [CRAN] Downloading GitHub repo jokergoo/ComplexHeatmap@master circlize (NA -> 0.4.12 ) [CRAN] GetoptLong (NA -> 1.0.5 ) [CRAN] clue (NA -> 0.3-58 ) [CRAN] Cairo (1.5-10 -> 1.5-12.2) [CRAN] digest (0.6.18 -> 0.6.27 ) [CRAN] IRanges (2.18.1 -> 2.18.3 ) [CRAN] matrixStats (0.54.0 -> 0.58.0 ) [CRAN] foreach (1.4.4 -> 1.5.1 ) [CRAN] doParallel (1.0.14 -> 1.0.16 ) [CRAN] shape (NA -> 1.4.5 ) [CRAN] crayon (1.3.4 -> 1.4.1 ) [CRAN] cluster (2.0.8 -> 2.1.1 ) [CRAN] S4Vectors (0.22.0 -> 0.22.1 ) [CRAN] iterators (1.0.10 -> 1.0.13 ) [CRAN] Installing 14 packages: circlize, GetoptLong, clue, Cairo, digest, IRanges, matrixStats, foreach, doParallel, shape, crayon, cluster, S4Vectors, iterators Error: Failed to install 'conos' from GitHub: Failed to install 'ComplexHeatmap' from GitHub: (converted from warning) installation of package 'Cairo' had non-zero exit status Traceback:

  1. devtools::install_github("kharchenkolab/conos")
  2. pkgbuild::with_build_tools({ . ellipsis::check_dots_used() . remotes <- lapply(repo, github_remote, ref = ref, subdir = subdir, . auth_token = auth_token, host = host) . install_remotes(remotes, auth_token = auth_token, host = host, . dependencies = dependencies, upgrade = upgrade, force = force, . quiet = quiet, build = build, build_opts = build_opts, . build_manual = build_manual, build_vignettes = build_vignettes, . repos = repos, type = type, ...) . }, required = FALSE)
  3. install_remotes(remotes, auth_token = auth_token, host = host, . dependencies = dependencies, upgrade = upgrade, force = force, . quiet = quiet, build = build, build_opts = build_opts, build_manual = build_manual, . build_vignettes = build_vignettes, repos = repos, type = type, . ...)
  4. tryCatch(res[[i]] <- install_remote(remotes[[i]], ...), error = function(e) { . stop(remote_install_error(remotes[[i]], e)) . })
  5. tryCatchList(expr, classes, parentenv, handlers)
  6. tryCatchOne(expr, names, parentenv, handlers[[1L]])
  7. value[3L]

I have done some searching, and I believe our institutes' HPC cluster probably lacking the libcairo2-dev package. Since I don't have permissions to install this via sudo apt-get install libcairo2-dev this doesn't seems like a solution that will work for me. The idea of removing the Cairo dependency seemed like something that could work for me.

Thanks for your help! Best, Florian

evanbiederstedt commented 3 years ago

Hi @fhermans27

I have done some searching, and I believe our institutes' HPC cluster probably lacking the libcairo2-dev package. Since I don't have permissions to install this via sudo apt-get install libcairo2-dev this doesn't seems like a solution that will work for me

It might be useful to contact your local system administrator in this case, and politely request this be installed.

Another option would be for you to compile the cairo libraries without sudo privileges using --prefix: https://askubuntu.com/questions/2167/how-to-build-application-without-sudo-privileges https://stackoverflow.com/questions/16678934/r-cairo-installation-without-apt-get-sudo

The idea of removing the Cairo dependency seemed like something that could work for me.

This would work too. We (the developers) will not remove the Cairo dependency, but you could---try removing from the DESCRIPTION file and try installing. However, then you'll have the compile the package when using devtools::install_github('kharchenkolab/pagoda2'). I personally would recommend finding a way to install Cairo though.

Cairo has been a standard library for graphics plotting for nearly two decades, and the R package is quite popular---it's fairly widely embedded within many R packages on CRAN and Bioconductor. You'll surely run into this error again when installing other R packages: https://en.wikipedia.org/wiki/Cairo_(graphics) https://cran.r-project.org/web/packages/Cairo/index.html https://www.biostars.org/p/260390/

Hopefully that's helpful. Best, Evan