Skip to content
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

installing peppro R package #54

Closed
nsheff opened this issue Feb 20, 2020 · 12 comments
Closed

installing peppro R package #54

nsheff opened this issue Feb 20, 2020 · 12 comments

Comments

@nsheff
Copy link
Member

nsheff commented Feb 20, 2020

When installing the R package, I'm getting these errors:

install.packages("PEPPROr", repos=NULL, type="source")
Installing package into ‘/home/ns5bc/R/3.6’
(as ‘lib’ is unspecified)
Bioconductor version 3.10 (BiocManager 1.30.10), ?BiocManager::install for help
ERROR: dependencies ‘optigrab’, ‘GenomicDistributions’ are not available for package ‘PEPPROr’
* removing ‘/home/ns5bc/R/3.6/PEPPROr’
Warning message:
In install.packages("PEPPROr", repos = NULL, type = "source") :
  installation of package ‘PEPPROr’ had non-zero exit status

First, I guess we can't rely on GenomicDistributions, since it's not released yet, right? Or do you just have to install that separately?

Second, why is optigrab not available? is this really the right way to do what you're trying to accomplish? will this download them from cran (does repos=NULL thwart that?)

@nsheff
Copy link
Member Author

nsheff commented Feb 20, 2020

when I try to install optigrab the normal way I get this:

> install.packages('optigrab')
Installing package into ‘/home/ns5bc/R/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/optigrab_0.9.2.1.tar.gz'
Content type 'application/x-gzip' length 47504 bytes (46 KB)
==================================================
downloaded 46 KB

Bioconductor version 3.10 (BiocManager 1.30.10), ?BiocManager::install for help
* installing *source* package ‘optigrab’ ...
** package ‘optigrab’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Bioconductor version 3.10 (BiocManager 1.30.10), ?BiocManager::install for help
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/project/shefflab/lib/R/3.6/stringi/libs/stringi.so':
  libicui18n.so.57: cannot open shared object file: No such file or directory
Calls: <Anonymous> ... namespaceImport -> loadNamespace -> library.dynam -> dyn.load
Execution halted
ERROR: lazy loading failed for package ‘optigrab’
* removing ‘/home/ns5bc/R/3.6/optigrab’

After installing stringi manually, then it will work.

Next, I have to install GenomicDistributions manually, like this:

devtools::install_github("databio/GenomicDistributions")

but I get this error:

Error: package ‘GenomeInfoDb’ could not be loaded
Execution halted
ERROR: lazy loading failed for package ‘GenomicDistributions’

So I try to install that first:

BiocManager::install("GenomeInfoDb")
...

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/project/shefflab/lib/R/3.6/RCurl/libs/RCurl.so':
  /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /project/shefflab/lib/R/3.6/RCurl/libs/RCurl.so)

So I first try to install RCurl:

install.packages("RCurl").

That works. Then I can install GenomeInfoDb.
Then I can install GenomicDistributions.
Then I can install PEPPROr

there must be a better way... I guess we need to release GenomicDistributions.

@jpsmith5
Copy link
Collaborator

I didn't recall the install being so laborious, but I've previous done a bunch of reading to try to find alternatives, and I did not find anything. Outside of releasing the package officially to incorporate those installs, I don't know of an easy method.

When installing a local package, my understanding is that the repos=NULL has to be set, and I believe that even if you pointed it somewhere, it won't attempt to download and use those remote repositories because you're telling it you're installing local. My understanding is that is by design.

@nsheff
Copy link
Member Author

nsheff commented Feb 21, 2020

When installing a local package, my understanding is that the repos=NULL has to be set, and I believe that even if you pointed it somewhere, it won't attempt to download and use those remote repositories because you're telling it you're installing local. My understanding is that is by design.

Right, that's my point. doesn't that ruin the point of having a local package to trigger all the dependencies?

@jpsmith5
Copy link
Collaborator

I can't recall, but if you install using install_github() it may then work?

The reason we changed to installing local was because we were trying to simplify the text in the online guides. Originally I had the text describing the full install process and I believe using install_github. But will have to test if that works.

@nsheff
Copy link
Member Author

nsheff commented Feb 21, 2020

apparently I ran into some of this before, See #15...

@jpsmith5
Copy link
Collaborator

Gotcha. From that thread what I recall is...We didn't have an elegant solution. Thoughts?

@nsheff
Copy link
Member Author

nsheff commented Feb 21, 2020

Yeah, I remember the point was to simplify things... I'm just not sure this has actually simplified anything.

One thing is for sure though, we can simplify some things by releasing GenomicDistributions (and, I guess, pepr)

@jpsmith5
Copy link
Collaborator

Is the recommendation in the short term to add back in some text in the install guides?

@nsheff
Copy link
Member Author

nsheff commented Feb 21, 2020

I think maybe using devtools::install is the way to go...

and at least some of this will have to be multiple lines in the install, even if we can solve the local-remote dependencies issue (GenomicDistributions and pepr, for example, until they are released)

@jpsmith5
Copy link
Collaborator

Confirming the new steps work with a fresh install process. But docs updated now to reflect the devtools::install approach.

@jpsmith5
Copy link
Collaborator

Okay. Confirmed. The docs process works to install the PEPPROr package successfully.

@nsheff
Copy link
Member Author

nsheff commented Feb 21, 2020

given that you need devtools anyway for the github install, I think that's better all around.

Rscript -e 'install.packages("devtools")'
Rscript -e 'devtools::install_github("pepkit/pepr")'
Rscript -e 'install.packages("BiocManager")'
Rscript -e 'BiocManager::install("GenomicRanges")'
Rscript -e 'devtools::install_github("databio/GenomicDistributions")'

Small thing if you want, you could maybe merge the 2 install.packages lines, and the 2 devtools lines, to makes this 3 lines?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants