cloudml icon indicating copy to clipboard operation
cloudml copied to clipboard

BiocGenerics fails to install (curl 404)

Open ck37 opened this issue 7 years ago • 6 comments

Hello,

Running a quick demo it appears that Bioconductor is not currently supported - are there any tips to get it working? This is currently in R 3.4.

Here is the failure output I'm getting around BiocGenerics when running cloudml_train():

INFO    2018-11-26 18:26:30 -0800       master-replica-0                Installing BiocGenerics (0.24.0) ...
INFO    2018-11-26 18:26:30 -0800       master-replica-0                curl: (22) The requested URL returned error: 404 Not Found
INFO    2018-11-26 18:26:30 -0800       master-replica-0                curl: (22) The requested URL returned error: 404 Not Found
INFO    2018-11-26 18:26:30 -0800       master-replica-0                curl: (22) The requested URL returned error: 404 Not Found
INFO    2018-11-26 18:26:30 -0800       master-replica-0                curl: (22) The requested URL returned error: 404 Not Found
INFO    2018-11-26 18:26:30 -0800       master-replica-0                curl: (22) The requested URL returned error: 404 Not Found
INFO    2018-11-26 18:26:30 -0800       master-replica-0                FAILED
INFO    2018-11-26 18:26:30 -0800       master-replica-0                Error in getSourceForPkgRecord(pkgRecord, srcDir(project), availablePackagesSource(repos = repos),  :
INFO    2018-11-26 18:26:30 -0800       master-replica-0                  Failed to retrieve package sources for BiocGenerics 0.24.0 from CRAN (internet connectivity issue?)
INFO    2018-11-26 18:26:30 -0800       master-replica-0                Calls: retrieve_packrat_packages ... restoreImpl -> playActions -> installPkg -> getSourceForPkgRecord
INFO    2018-11-26 18:26:30 -0800       master-replica-0                Execution halted
INFO    2018-11-26 18:26:30 -0800       master-replica-0                Command ['Rscript', '/root/.local/lib/python2.7/site-packages/cloudml-model/cloudml/deploy.R'] failed: exit code 1

I had the EBImage package as a dependency, which is why Bioconductor was required. However we've refactored the code to no longer require Bioconductor, so I don't have a reprex unfortunately - but I want to at least note the bug here for future users.

And thanks for the awesome package, I am really enjoying the smooth interface!

Thanks, Chris

ck37 avatar Nov 27 '18 02:11 ck37

Presumedly this would be because the Bioconductor repositories aren't being reflected in the bundle sent up to cloudml. I think ensuring those are added to the Packrat lockfile would help here.

kevinushey avatar Nov 27 '18 17:11 kevinushey

Appreciate the comment - I'm not currently using packrat on my end for this project, although I did see that the cloudml deployment system seems to use packrat. So you are suggesting that I actively setup packrat on my end?

I'm also running into an issue where magick is not able to install automatically (due to a missing OS-level package) so I'm wondering if I need to manually set that up in packrat too. Although my impression is that packrat wouldn't handle OS-level package requirements and I couldn't find anything in the cloudml documentation.

ck37 avatar Nov 28 '18 00:11 ck37

Sorry, I meant to suggest that this means something needs to change in Packrat (or in how Packrat is being used by cloudml) to better handle installation of Bioconductor packages.

kevinushey avatar Nov 29 '18 18:11 kevinushey

@ck37 sorry im running into similar issue with other common packages. Just wondering if there are solutions to this? also @kevinushey, you mentioned "repositories aren't being reflected in the bundle sent up to cloudml" im just wondering cloudml documentation said it only uploads stuff within the working directory containing the training script. regarding your comment it seems it is also uploading things other than files in the working directory. Just wondering is there a guide where i can follow e.g. "ensuring packages the training scripts need are added to the Packrat lockfile"?

many thanks

Z-ingdotnet avatar Feb 10 '20 13:02 Z-ingdotnet

I'm guessing the workaround here would be something like:

options(repos = BiocManager::repositories())

so that Packrat treats the Bioconductor repositories as though they were just regular old package repositories.

kevinushey avatar Feb 10 '20 17:02 kevinushey

I'm guessing the workaround here would be something like:

options(repos = BiocManager::repositories())

so that Packrat treats the Bioconductor repositories as though they were just regular old package repositories.

Hi @kevinushey thanks a lot of your reply. Could you please elaborate a bit more, I'm not very familiar with Packrat package. May I email you please? With thanks

Z-ingdotnet avatar Feb 11 '20 12:02 Z-ingdotnet