# Compiling R with PNG support

 4 I just compiled sage 4.6 from source on an Ubuntu 10.04 machine. I have the xorg-dev packages installed. However, I still cannot get r to save the plot of a histogram. Specifically, I am getting: sage: r.png('/tmp/histogram.png') RuntimeError: R was not compiled with PNG support  What does work is: sage: r.X11() sage: r.hist("rnorm(100)")  But I can't save the resulting graphic. (Of course, I can print-screen and get it that way, but I was hoping there would be a better way.) Can I compile R with PNG support somehow? Or is there another workaround which will give me what I want (namely, saving a picture of a histogram)? Thanks. asked Nov 07 '10 Jason Bandlow 381 ● 1 ● 8 ● 18

 2 (This should maybe be a comment, but I'm posting as an answer for better formatting.) I just discovered the following: sage: r.eval('capabilities("png")') ' png \nFALSE ' sage: r.eval('capabilities("X11")') ' X11 \nTRUE '  So apparently, I have X11 support, but not PNG support. Does that suggest anything that I might be able to do? posted Nov 09 '10 Jason Bandlow 381 ● 1 ● 8 ● 18 This was the key. I did not have libpng installed. I installed it, re-compiled r with sage -f, and everything works. Thanks for your help, everyone! Jason Bandlow (Nov 09 '10) cool! -- glad to help niles (Nov 09 '10) could you be more specific? I apt-get installed xorg-dev and libpng12-dev, then "sage -f"'ed the package r-2...spkg, but then I had no png and no X11 capabilities. (running sage from a ssh console here: were you inside an X11 session?) pangard (Dec 24 '10)
 2 I had a very similar looking problem on Ubuntu 10.04.1 server but it turned out to be the following: I was running my Sage notebook server through ssh session in a console. This way X11 are not accessible to R and R reports no png/jpg/X11 support with capabilities(). I tried to run Sage through virtual framebuffer (xvfb-run), but it didn't work either (edit: now it works, with sage 4.6.2, go on and try it). The solution i've found was to run Sage under X11 through VNC. posted Dec 23 '10 macieksk 21 ● 1 ● 4
 2 I solved this on Ubuntu by installing the libpango1.0-dev and libcairo-dev packages. I had also earlier installed the xorg-dev package, but I don't know if it is actually needed here. posted Apr 21 '11 Jason Grout 3305 ● 7 ● 28 ● 74
 1 This isn't an answer per se (you and I've discussed this before!), but at least I thought I'd put the following as the relevant Trac ticket: #8868. I am puzzled as to why your Ubuntu installation isn't compiling with png support, though. R install guide says ‘libX11’, ‘libX11-devel’, ‘libXt’ and ‘libXt-devel’. is needed, but you are right that xorg-dev should give you this. In our spkg-install it says if [ -f /usr/include/X11/Xwindows.h ]; then XSUPPORT=yes  so perhaps that isn't detecting your stuff. Thanks to David Kirkby, we also have else if [ "xuname" = xSunOS ] && [ -f /usr/X11/lib/libXv.so ] ; then XSUPPORT=yes  but that only would work on Solaris. We really just need to ask on r-devel about this; r-help has been of no help, but I've been reluctant to join r-devel since I know very little about R internals. But we just need to figure out what R precisely needs to allow png, and then have it compile every time those things are there. posted Nov 08 '10 kcrisman 7427 ● 17 ● 76 ● 166 I don't think we've discussed this before (maybe that was Jason Grout?). The file /usr/include/X11/Xwindows.h is present on my system; I'll try at some point to take a look at the spkg-install in more detail and see if I can't figure out what is failing. Thanks for pointing out the Trac ticket! Jason Bandlow (Nov 09 '10) I thought you were 'ancienthart', so I thought we'd discussed this before. But if you have this file, it should definitely compile with png support. Weird. Unfortunately, I have no idea how to get the graphic that displays out, other than figuring out where it is (there are canonical temp files for such things, but I don't know exactly where they are). kcrisman (Nov 09 '10)
 1 looking at the variable SAGE_TMP will, I think, give you an idea of where the displayed images are being stored -- for me (Mac), all the displayed images are in that directory. It's mentioned, for example, in the Developer's Guide section about saving output files in automated tests. posted Nov 09 '10 niles 3605 ● 7 ● 45 ● 101 http://nilesjohnson.net/ Thanks, I'll try this. Jason Bandlow (Nov 09 '10)
 0 I just made a new r spkg at http://trac.sagemath.org/sage_trac/ticket/12057 which should help with graphics. Please test if you can and leave your feedback on the trac page. posted Nov 19 '11 Volker Braun 2666 ● 9 ● 24 ● 59 Yeah, I saw that. Does one need the libpango/libcairo, to your knowledge? kcrisman (Nov 19 '11)

[hide preview]