Possible To Enable Building R With Cairo But Without X11 Dependencies?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Possible To Enable Building R With Cairo But Without X11 Dependencies?

Stephen Marsh
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]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Possible To Enable Building R With Cairo But Without X11 Dependencies?

Dirk Eddelbuettel

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 | [hidden email]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Possible To Enable Building R With Cairo But Without X11 Dependencies?

Stephen Marsh
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 <[hidden email]> 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 | [hidden email]
>



--
stephenmarsh.co

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel