我試圖從啓用cairo支持的源代碼編譯R 3.1.1。我想這是因爲我試圖在沒有圖形環境(因此沒有X11)的服務器上運行R,但仍輸出PNG。使用開羅支持編譯R而不使用X11
我試圖與
./configure --with-x=no --with-cairo=yes --with-libpng=yes --enable-R-shlib --prefix=$HOME
這樣做產生與沒有PNG或開羅支持(如由capabilities()
)的R二進制配置R上。在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.
正如你所看到的,配置知道cairo和pango,它也知道我沒有使用X11。但它仍然試圖編譯一個需要cairo-xlib.h
的文件?我能在這裏做什麼?
開羅不需要X11標頭。我成功地建造了沒有X11標題的開羅。問題在於,出於某種原因,儘管使用了「--with-x = no」標誌來配置,R仍然要求開羅使用Xlib支持。 – rmccloskey 2014-10-08 19:20:09
向我抱怨是毫無意義的。如果你認爲這個世界需要這個,請準備一個補丁並將其發送給R核心 - 否則可能會有對x11字體度量標準的依賴或類似的東西。我向您展示了即使在無頭機器上工作時也可以創建圖形的幾種方法,因此我認爲整個方面大都沒有實際意義。但是你的里程可能會有所不同。 – 2014-10-08 19:22:44
謝謝。我道歉,我沒有抱怨,而是我認爲你誤解了我的問題。不幸的是,我正在運行別人的代碼,所以其他軟件包不是一個選項。我想我會研究xvfb,謝謝。 – rmccloskey 2014-10-09 01:34:05