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
Upgrade R to 3.2.0 #18229
Comments
Branch: u/charpent/upgrade_r_to_3_1_3 |
This comment has been minimized.
This comment has been minimized.
Commit: |
comment:3
I forgot : passes ptestlong. |
comment:4
Does plotting and so forth still work properly? |
comment:5
I'll check that. BTW : R-project released (of course !) 3.2.0 hours after I uploaded this patch ==> needs_work. I amend the ticket. |
comment:6
Actually can you check if you really need to rename upstream's tarball? We can deal with archive with a capital in their name ( |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
Upgrade to 3.2.0 done. Passes ptestlong ==> needs_review R graphics : they work in the sage notebook, not on command line or ipython notebook (same as before...). This would deserve another ticket. François : the build system may support names with a capital, but sage-fix-pkg-checksums do not. I won't fix that in this ticket. Should I (should you ?) open a new ticket ? |
comment:9
I am a bit surprised since we have other packages with capital in their names and they have to be checksumed too. In fact I just tried the script on Pillow and it worked (as in I removed checksum.ini for pillow and regenerated it). In fact I renamed the current R tarball from r-3.1.2.tar.gz to R-3.1.2.tar.gz and it worked too. Have you even tried it? |
comment:10
Important rectifications : kcrisman : I was able to get R graphics in the ipython notebook ... but I had to %load_ext rmagic before, and work in a %%R cell. This is far from obvious after reading the docs. I understand that the ipython is work in progress, so this is not (yet) a big problem. But it should eventually be documented in a more obvious way. I am beginnig to think that some kind of guide to ipython notebook for (repentant ?) Sage notebook users would be useful. Maybe ditto for Cloud users (Sagemath cloud is really a different beast ...). Note that you have to %load_ext rmagic, nor rpy2.ipython (error message : ImportError: No module named ipython"). Does this deserve a ticket ? fbissey : I tried your way : I moved $SAGE_ROOT/build/pkgs/r/checksums.ini out of the way, renamed $SAGE_ROOT/upstream/r-3.2.0.tar.gz to $SAGE_ROOT/upstream/R-3.2.0.tar.gz and ran sage -sh sage-fix-pkg-checksums : neither r-3.2.0.tar.gz nor R-3.2.0.tar.gz appear in the list of recomputed checksums (nor does pillow or Pillow, by the way), and $SAGE_ROOT/build/pkgs/r/checksums.ini is NOT recreated. That was on 6.7beta1 + the present patch. Don't you have other patches ? Status : still "needs_review", IMHO. HTH, |
comment:11
I wouldn't be concerned about ipynb graphics since that is new (I mean, I'm not, others might be). Has plotting from the command line ever worked without setting a graphics viewer (there is a name for this in R, I just forget it now). |
comment:12
I don't know anything about that, but rpy2 shouldn't be necessary for all this. |
comment:13
Replying to @kcrisman:
It's known as a "graphic device" in R docs. To be clear,
does nothing (on command line and in ipynb). Returns NULL
opens an X11 window (the R graphic device) and displays the cloud in this window (again on command line and in ipynb). Returns NULL, nothing displayed in the notebook. Interestingly, neither I don't remember having ever used R from sage on the command line (my favorite interface was emacs and ess, for obvious reasons, but The Sage notebook was sometimes handy, and ipynb appears more and more attractive, since %%R seems to work). HTH, |
comment:14
Replying to @kcrisman:
Currently, it seems to be, at least in ipynb. In the Sage notebook, the only way I found to get graphs reliably in the notebook itself was to open a device, plot on it (several graphs are possible) and close the device in the same %r cell. The same is possible in an rpy2 %%R cell vhithout to have to open/close the device. HTH, |
comment:15
Replying to @EmmanuelCharpentier:
That's very strange I was on 6.6 on a mac when I did that. Can you go in upstream and try |
comment:16
Replying to @kiwifb:
I just did that exactly, with the same result : nothing is printed by the script, and the checksums.ini file is not recreated. Yet another Appleism ? What shell do you use ? HTH, |
comment:17
It is bash 3.2 as far as I can tell. I am guessing you have 4.x. |
comment:80
It should be prudent to check the (forthcoming) patch by jhpalmieri on a 32-bit (virtual) machine (which I don't have) before accepting it. Replying to @vbraun:
|
comment:81
Doesn't that means that R and Sage do different, possibly incompatible, changes to DYLD_LIBRARY_PATH ? Replying to @nexttime:
|
comment:82
Possibly sage does load the appropriate one so its libraries are found first but of course during the building process |
comment:83
Replying to @nexttime:
I'm guessing that this comes from #14706 comment:101, in which case, the second version should say |
comment:84
John makes a lot of sense here, that fits the kind of things we want to achieve. |
comment:85
Replying to @EmmanuelCharpentier:
My suggestion should only have an effect on OS X: it's in a block starting
And it is just a mistake in the shell script, yielding a (non-fatal) error
every time you try to install R on an OS X machine. |
comment:86
Replying to @EmmanuelCharpentier:
Did you read the upstream report?
Same as what?
Nope. The same happens outside of Sage.
Bug in Sage's infrastructure? I don't get the point.
Well, technically that doesn't really make sense, since I cannot fix something that hasn't yet been included. (#18254 is slightly different as it modifies an existing file, namely I would agree if we could make this ticket depend on upstream, but then it wouldn't be possible to (positively) review it before upstream decided on a solution.
We at least have different commits with IMHO meaningful commit messages... (which unfortunately often isn't the case). You probably know my opinion on (not) bumping patch levels and discarding the package changelog we used to have for years. Sometimes it is better to also fix "unrelated" minor issues (such as the typo) on a ticket dealing with a package (nowadays probably less than it was with "legacy" spkgs), since otherwise they'll simply never get fixed, either because nobody opens individual tickets for them, or the tickets just rotten. The prerequisite for inclusion of a new (or upgraded) package is that it builds/works on all supported platforms, so fixing build issues (and probably fixing doctests, cf. the PARI upgrade at #18340, which was motivated by an initially seemingly unrelated problem with GNU make) belongs to the ticket that introduces (or upgrades) a package. There are other issues where it perfectly makes sense to open (a metaticket and) separate (sub-)tickets, e.g. to let Sage build with GCC 5.x (four tickets for four different packages which need fixing), or to let Sage build with [page overflow] |
comment:87
Last chance for further changes: ;-) diff --git a/build/pkgs/r/spkg-install b/build/pkgs/r/spkg-install
index 06a340d..f02bea9 100755
--- a/build/pkgs/r/spkg-install
+++ b/build/pkgs/r/spkg-install
@@ -153,15 +153,15 @@ if [ $? -ne 0 ]; then
fi
if [ "$UNAME" = "Darwin" ]; then
- # We have to move old installs of R when upgrading R in Sage on OS X.
- # Indeed Sage modifies DYLD_LIBRARY_PATH whereas R build process
- # modifies DYLD_LIBRARY_PATH, so that it is Sage's R and not the freshly
- # built one which will get loaded during the build process and if they are
- # different versions then the build process might fail.
+ # We have to move (i.e., hide) old installs of R when upgrading R in Sage on OS X.
+ # Indeed Sage modifies DYLD_LIBRARY_PATH whereas R's build process
+ # modifies DYLD_FALLBACK_LIBRARY_PATH, so that it is Sage's R and not the freshly
+ # built one which will get loaded during the build process; in case the versions
+ # differ, the build process might fail.
# On systems using LD_LIBRARY_PATH, both Sage and R modify it and R wins,
# so no problem should occur.
if [ -d "$SAGE_LOCAL"/lib/R ]; then
- RINSTALL_MOVED = yes
+ RINSTALL_MOVED=yes
mv "$SAGE_LOCAL"/lib/R "$SAGE_LOCAL"/lib/R.old
fi
fi |
comment:88
Looks good to me. I would be happy if you went ahead with the change. |
comment:89
No further changes here. Let's gets this to review now. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:91
Replying to @sagetrac-git:
|
comment:92
Replying to @jdemeyer:
It's a potential syntax error, depending on how $ R_INSTALL_MOVED(){ expr $@; }
$ R_INSTALL_MOVED = yes
expr: syntax error |
comment:93
Typo. |
comment:94
6.7beta3+f451e9a builds and passes make ptestlong on Debian testing 64 bits. I'd rather have corroborating evidence on Mac OS X and Linux 32 bits before setting "positive_review" (and I won't set it since I am one of the authors...). |
comment:95
One dayTM we should also really rm -rf "${TMPDIR:-/tmp}"/Rtmp* after building (or installing) R. |
comment:96
6.7beta4+f451e9a builds and passes "make ptestlong" on Debian testing amd64, albeit with one failure :
...and is known to be triggered by a loaded machine. To I'd give it a "positive_review" if
Any takers ? François, any hope in seeing this tested on your Mac ? Volker, any news on the x86 front ? |
comment:97
I am looking at it right now from scratch with 6.7.beta4. Silly stuff, because this doesn't depend on #18156 switching to this branch removes the fix to gcc from 6.7.beta4. So I lost a couple of hours of building while I was doing the week end shopping. |
comment:98
Send it to the bots... |
comment:99
Replying to @kiwifb:
Thank you, François ! Any news from the x86 front ? |
Changed reviewer from Vincent Delecroix to Vincent Delecroix, François Bissey, Leif Leonhardy |
comment:100
Not as such, but I am fairly sure leif solved the bzip2 problem that was cropping up randomly. I can confirm the fix works on several platform. I am personally satisfied that this as been vetted beyond the call of duty. If there are any more issues the bots will tell us. Fill free to edit the authors and reviewer fields as you see fit. |
Changed branch from u/leif/R_upgrade_with_new_patch to |
It's that time of the year again (and I'm late...).
Renamed source tarball available from:
We add a new patch to fix a bug in the
R_PCRE
autoconf macro which leads toconfigure
losing-lz
and-lbz2
fromLIBS
under certain circumstances, when using Sage's versions of these libraries (as opposed to letting R build its own, which we don't want). (Upstream report)Depends on #18254
Depends on #15642
Upstream: Reported upstream. No feedback yet.
Component: packages: standard
Keywords: r-project
Author: Emmanuel Charpentier, Leif Leonhardy
Branch/Commit:
f451e9a
Reviewer: Vincent Delecroix, François Bissey, Leif Leonhardy
Issue created by migration from https://trac.sagemath.org/ticket/18229
The text was updated successfully, but these errors were encountered: