Opened 8 years ago

Closed 8 years ago

#14008 closed enhancement (fixed)

Some R packages no longer can be installed

Reported by: charpent Owned by: tbd
Priority: major Milestone: sage-5.7
Component: packages: standard Keywords: r-project
Cc: kcrisman Merged in: sage-5.7.beta2
Authors: Emmanuel Charpentier Reviewers: Dmitrii Pasechnik
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by dimpase)

(At least) some R packages can no longer be installed.

This is due to upstream's change of management of "lazy loading" : some packages version available through default repositories now expect to use this new mechanism, which is not available in R 2.14.0.

The best solution is probably to update the R version shipping with Sage. I have packaged and tested it Install the spkg from http://boxen.math.washington.edu/home/dima/packages/r-2.15.2.p0.spkg and apply the patch

Attachments (2)

r.diff (1.1 KB) - added by charpent 8 years ago.
diff between 2.14.0.p6 and 2.15.2.p0 source trees fo r spkg
trac-14008.patch (905 bytes) - added by charpent 8 years ago.
Patch reflecting new R version in r.py's doctests

Download all attachments as: .zip

Change History (25)

comment:1 follow-up: Changed 8 years ago by jason

(Brief pointer; post if this doesn't make sense...)

Update the tests in SAGE_ROOT/devel/sage/sage/interfaces/r.py and then run sage -hg commit and then sage -hg export tip > trac-14008.patch and attach the resulting file.

Changed 8 years ago by charpent

diff between 2.14.0.p6 and 2.15.2.p0 source trees fo r spkg

comment:2 in reply to: ↑ 1 Changed 8 years ago by charpent

Replying to jason:

(Brief pointer; post if this doesn't make sense...)

Update the tests in SAGE_ROOT/devel/sage/sage/interfaces/r.py and then run sage -hg commit and then sage -hg export tip > trac-14008.patch and attach the resulting file.

Thanks. This make sense and I will do that, but I'll first have to create a branch... Not until tomorrow (RealLife?(TM) again...).

comment:3 follow-up: Changed 8 years ago by jason

You don't have to create a branch if you don't want.

comment:4 Changed 8 years ago by kcrisman

  • Cc kcrisman added
reoved

?

Also, maybe the formatting of SPKG.txt is just slightly off...

So ... it sounds like even with this r.install_package() wouldn't work for all packages? (Or any?) Or am I misunderstanding things?

comment:5 in reply to: ↑ 3 Changed 8 years ago by kcrisman

Replying to jason:

You don't have to create a branch if you don't want.

Totally.

comment:6 follow-up: Changed 8 years ago by dimpase

And where is the new spkg? Can you upload it somewhere? Thanks!

comment:7 Changed 8 years ago by dimpase

  • Component changed from misc to packages
  • Owner changed from jason to tbd
  • Priority changed from minor to major
  • Type changed from defect to enhancement

comment:8 in reply to: ↑ 6 Changed 8 years ago by charpent

Replying to dimpase:

And where is the new spkg? Can you upload it somewhere? Thanks!

Try http://dl.free.fr/fVPIHKbzO .

Sorry for the inconvenience : I didn't know that the trac server did not accept large files, and I had to jury-rig this a bit quickly...

A formal patch is on its way (I botched my first attempt by recompiling my modified sage too early, and I have to go back...).

comment:9 Changed 8 years ago by jdemeyer

  • Authors set to Emmanuel Charpentier

Changed 8 years ago by charpent

Patch reflecting new R version in r.py's doctests

comment:10 follow-up: Changed 8 years ago by charpent

Patch uploaded. With the new spkg (to be found at http://dl.free.fr/fVPIHKbzO), this should go to "needs review", no ? Should I do this status change ?

comment:11 in reply to: ↑ 10 Changed 8 years ago by dimpase

Replying to charpent:

Patch uploaded. With the new spkg (to be found at http://dl.free.fr/fVPIHKbzO), this should go to "needs review", no ? Should I do this status change ?

I tried to download the spkg, but I keep getting a corrupt file (and it goes veeeery slow too). Could you upload it to a more reasonable hosting place?

  • One option is to use http://code.google.com/p/spkg-upload/
  • Another option is to ask for an account on the UW sage cluster (write directly to William).
  • You might also try Dropbox or Google Drive, I think they are much faster than free.fr...

comment:12 follow-ups: Changed 8 years ago by charpent

spkg-upload is out of commission (my email to get upload credentials bounced). I have but it there : https://docs.google.com/file/d/0B1gfn4_V_wm3bHVqN3dMbzF4SGs/edit .

Hoping that this will be more efficient...

comment:13 in reply to: ↑ 12 Changed 8 years ago by dimpase

  • Description modified (diff)
  • Status changed from new to needs_review

Replying to charpent:

spkg-upload is out of commission (my email to get upload credentials bounced).

try mvngu dot name СОБАКА(as we call this symbol in Russian) gmail dot com

I have but it there : https://docs.google.com/file/d/0B1gfn4_V_wm3bHVqN3dMbzF4SGs/edit .

This kind of URL won't do as the parameter of sage -f

I've uploaded your file to the following location: http://boxen.math.washington.edu/home/dima/packages/r-2.15.2.p0.spkg

Last edited 8 years ago by dimpase (previous) (diff)

comment:14 in reply to: ↑ 12 Changed 8 years ago by dimpase

Replying to charpent:

spkg-upload is out of commission (my email to get upload credentials bounced).

just got a reply from the maintainer of http://code.google.com/p/spkg-upload/ He's updated the email there (to the one I gave here already :))

comment:15 follow-up: Changed 8 years ago by dimpase

  • Description modified (diff)

Could you provide examples related to R packages which this is supposed to fix? (Even better, doctests, perhaps optional)

comment:16 in reply to: ↑ 15 ; follow-up: Changed 8 years ago by charpent

Replying to dimpase:

Could you provide examples related to R packages which this is supposed to fix? (Even better, doctests, perhaps optional)

An example is easy (but dangerous, see below), a doctest is not : installing an R package is supposed to have a permanent effect on the state of the installed system (an installed package stays installed between sessions). This, as far as I can tell, cannot be checked in a doctest.

Furthermore, a newly installed R package needs a restart of Sage to be usable (or so says the final message given by r.install.packages()).

An example is trivial : take example given for r.install_package(, which installs the R aami package). But :

  • the side effect is to have the R package aami permanently installed, which is not necessarily a Good Thing(TM).
  • if aami is already installed in the user's system, the example will fail.

One could implement the following pseudocode :

if (aami is installed) {
	uninstall it
	demonstrate the uninstallation
	reinstall it
	demonstrate the installation
} else {
	install it
	demonstrate the installation
	uninstall it
	demonstrate the uninstallation
}

But this might be a bit contrived for an example, no ?

An example which demonstrates the usefulness of this newer R version is to install the R package coda, I couldn't do that with sage 5.6 and R 2.14.0, I can do that with sage 5.6 and R 2.15.2.

HTH,

comment:17 Changed 8 years ago by dimpase

  • Status changed from needs_review to positive_review

looks good.

comment:18 in reply to: ↑ 16 ; follow-up: Changed 8 years ago by kcrisman

Furthermore, a newly installed R package needs a restart of Sage to be usable (or so says the final message given by r.install.packages()).

Somewhere I have a new doctest or something... some ticket talks about this. I have tried many times, and I am convinced the restart is not necessary and we just added that message "to be sure".

comment:19 Changed 8 years ago by charpent

Thanks to all people who guided my first (stumbling) steps in Sage maintenance and coped with somewhat stupid-in-hinsight questions.

comment:20 in reply to: ↑ 18 Changed 8 years ago by charpent

Replying to kcrisman:

Furthermore, a newly installed R package needs a restart of Sage to be usable (or so says the final message given by r.install.packages()).

Somewhere I have a new doctest or something... some ticket talks about this. I have tried many times, and I am convinced the restart is not necessary and we just added that message "to be sure".

This is consonant with my (limited) trials in Sage and my (somewhat more extensive) R experience. In less busy times, I'll have a look into this... But I have other fishes to fry first.

comment:21 Changed 8 years ago by jdemeyer

  • Reviewers set to Dmitrii Pasechnik
  • Status changed from positive_review to needs_work

There are a few administrative issues with your package:

  1. SPKG.txt mentions the deleted patch install_parallel.patch in the section "Special Update/Build Instructions", simply remove that item.
  2. The Changelog header should be
    === r-2.15.2.p0 (Emmanuel Charpentier, 25 January 2013) ===
    
  3. You should commit (hg rm patches/install_parallel.patch and hg commit) the changes, hg status now reports
    M SPKG.txt
    ! patches/install_parallel.patch
    

when it should report nothing.

comment:22 Changed 8 years ago by dimpase

  • Status changed from needs_work to positive_review

updated the spkg to take care of the admin issues.

comment:23 Changed 8 years ago by jdemeyer

  • Merged in set to sage-5.7.beta2
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.