Stephen Marsh
2018-Jul-26 01:04 UTC
[Rd] Possible To Enable Building R With Cairo But Without X11 Dependencies?
Hello, So the Homebrew community dropped support for --with-cairo which is a shame because --without-x --with-cairo is an important combination for any environment that might need to generate graphics without X11 (or related) dependencies (macOS, headless linux servers). This rejected GitHub PR contains more detail: https://github.com/Homebrew/homebrew-core/pull/24094 (See also these comments: https://github.com/uluyol/homebrew-core/commit/c377e6ebb3c7bc8fe6edf098e259d76e9935aacf ) Specifically: ?It looks like the only issue is their configure scripts using cairo-xlib.h instead of cairo.h, but to be honest I'm not familiar with the code. If they remove the dependency, I think the default homebrew R could probably enable cairo by default.? I suppose my general questions are: 1) Is this actually the case? You cannot successfully build R with Cairo capabilities but without X11 dependencies? 2) If so, is it possible to fix this in a future release of R? Thanks a lot, -Stephen Marsh [[alternative HTML version deleted]]
Dirk Eddelbuettel
2018-Jul-26 01:35 UTC
[Rd] Possible To Enable Building R With Cairo But Without X11 Dependencies?
On 25 July 2018 at 21:04, Stephen Marsh wrote: | So the Homebrew community dropped support for --with-cairo which is a shame | because --without-x --with-cairo is an important combination for any | environment that might need to generate graphics without X11 (or related) | dependencies (macOS, headless linux servers). For headless use on Linux, just build as usual and run via `xvfb-run`. If you need to create cairo-based graphics, install one of the (at least two) cairo device packages from CRAN. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
Stephen Marsh
2018-Jul-30 00:02 UTC
[Rd] Possible To Enable Building R With Cairo But Without X11 Dependencies?
Thanks for the reply, Dirk. It sounds like xvfb-run is a great solution when you want R to assume an X window system is present but isn?t? I think what I'm trying to figure out, and propose for the community to possibly fix, is slightly different than would be solved by xvfb-run. I'm wondering if --with-cairo presents a design flaw (maybe an abstraction inversion https://en.wikipedia.org/wiki/Abstraction_inversion) wherein the window system is taken for granted to be X and there is no way to change it/use Cairo differently? This has at least two consequences that I understand: - Most importantly, it makes --with-cairo silently incompatible with --without-x. If this is really intended, I think it should at least raise a warning? - I think it also means, (as far as I know, but could well be wrong), that there is not a way to use R where you rely solely Cairo?s rendering abilities to replace the complexity of needing a specific window system present? (This is my use case -- use cairo so R can be agnostic about a window system). Given that the earlier conversations made a fix sound rather trivial (use cairo.h instead of cairo-xlib.h), I?m wondering if there is a path to getting that implemented? Thanks a lot, -Stephen Marsh On Wed, Jul 25, 2018 at 9:35 PM, Dirk Eddelbuettel <edd at debian.org> wrote:> > On 25 July 2018 at 21:04, Stephen Marsh wrote: > | So the Homebrew community dropped support for --with-cairo which is a > shame > | because --without-x --with-cairo is an important combination for any > | environment that might need to generate graphics without X11 (or related) > | dependencies (macOS, headless linux servers). > > For headless use on Linux, just build as usual and run via `xvfb-run`. If > you > need to create cairo-based graphics, install one of the (at least two) > cairo > device packages from CRAN. > > Dirk > > -- > http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org >-- stephenmarsh.co [[alternative HTML version deleted]]
Apparently Analagous Threads
- Possible To Enable Building R With Cairo But Without X11 Dependencies?
- X11 font error on headless server running Xvfb
- Cairo bitmap output should work without X11 dependency (PR#12529)
- Cairo bitmap output should work without X11 dependency (PR#12218)
- Refresh with default x11() cairo