我正在尝试从启用 cairo 支持的源代码编译 R 3.1.1。我想要这个,因为我试图在没有图形环境(因此没有 X11)但仍输出 PNG 的服务器上运行 R。
我试图用 R 配置
./configure --with-x=no --with-cairo=yes --with-libpng=yes --enable-R-shlib --prefix=$HOME
这样做会生成一个没有 png 或 cairo 支持的 R 二进制文件(由
capabilities()
证明)。在 config.log
中,有以下内容。configure:31563: checking for X
configure:31749: result: disabled
configure:32420: result: using X11 ... no
configure:32530: checking whether pkg-config knows about cairo and pango
configure:32542: result: yes
configure:32576: checking whether cairo including pango is >= 1.2 and works
configure:32599: gcc -std=gnu99 -o conftest -g -O2 -fpic -I/usr/local/include -pthread -I/home/rmccloskey/include/pango-1.0 -I/home/rmccloskey/include/cairo -I/home/rmccl
oskey/include/glib-2.0 -I/home/rmccloskey/lib/glib-2.0/include -I/home/rmccloskey/include/pixman-1 -I/usr/include/freetype2 -I/home/rmccloskey/include/freetype2 -I/home/rmc
closkey/include/libpng16 -L/usr/local/lib64 conftest.c -lrt -ldl -lm -L/home/rmccloskey/lib -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lpng16 -lz -lcairo >
&5
conftest.c:232:24: fatal error: cairo-xlib.h: No such file or directory
#include <cairo-xlib.h>
^
compilation terminated.
如您所见,configure 知道 cairo 和 pango,它也知道我没有使用 X11。但它仍然试图编译一个需要
cairo-xlib.h
的文件?我可以在这里做什么? 最佳答案
在最狭隘的意义上,Cairo 似乎需要 x11 header 。
从更广泛的意义上讲,请查看详细说明 xvfb
虚拟 x11 服务器的使用的各种答案——它们允许您 headless 使用。
此外,您可以尝试在没有 x11、png、cairo 的情况下进行构建——然后使用 CRAN 的两个 cairo 包之一来创建图形。在 Debian/Ubuntu 中,我们至少还为您预构建了 cairoDevice 包。
关于r - 在没有 X11 的情况下编译带有开罗支持的 R,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26263934/