Aby móc renderować grafiki wysokiej jakości (np. z aktywnym antyaliasingiem) należy zainstalować bibliotekę Cairo (polecenie wykonujemy w konsoli R):
install.packages(c("Cairo"), repos="http://cran.r-project.org")
System rozpocznie pobieranie i kompilowanie biblioteki. Jeżeli podczas instalacji otrzymamy komunikat o braku pliku cairo.h:
Warning in install.packages(c("Cairo"), repos = "http://cran.r-project.org") :
argument 'lib' is missing: using '/usr/local/lib/R/site-library'
trying URL 'http://cran.r-project.org/src/contrib/Cairo_1.5-1.tar.gz'
Content type 'application/x-gzip' length 81918 bytes (79 Kb)
opened URL
==================================================
downloaded 79 Kb
* installing *source* package 'Cairo' ...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
...
checking if R was compiled with the RConn patch... no
checking cairo.h usability... no
checking cairo.h presence... no
checking for cairo.h... no
configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
ERROR: configuration failed for package 'Cairo'
* removing '/usr/local/lib/R/site-library/Cairo'
* restoring previous '/usr/local/lib/R/site-library/Cairo'
The downloaded packages are in
'/tmp/RtmpevzXi8/downloaded_packages'
Warning message:
In install.packages(c("Cairo"), repos = "http://cran.r-project.org") :
installation of package 'Cairo' had non-zero exit status
to znaczy, że nie mamy w systemie paczki z plikami źródłowymi biblioteki Cairo. Instalujemy pakiet „libcairo2-dev”:
apt-get install libcairo2-dev
Ponownie próbujemy pobrać bibliotekę Cairo:
install.packages(c("Cairo"), repos="http://cran.r-project.org")
Możemy otrzymać kolejny komunikat o braku plików z nagłówkami:
xlib-backend.c:34:74: error: X11/Intrinsic.h: No such file or directory xlib-backend.c: In function 'Rcairo_init_xlib': xlib-backend.c:158: warning: implicit declaration of function 'XrmUniqueQuark' make: *** [xlib-backend.o] Error 1 ERROR: compilation failed for package 'Cairo' * removing '/usr/local/lib/R/site-library/Cairo'
Instalujemy kolejną paczkę:
apt-get install libxt-dev
Jeszcze raz uruchamiamy konsolę R i próbujemy zainstalować Cairo. Jeżeli instalacja przebiegnie pomyślnie, to na końcu otrzymamy następujący komunikat:
Warning in install.packages(c("Cairo"), repos = "http://cran.r-project.org") :
argument 'lib' is missing: using '/usr/local/lib/R/site-library'
trying URL 'http://cran.r-project.org/src/contrib/Cairo_1.5-1.tar.gz'
Content type 'application/x-gzip' length 81918 bytes (79 Kb)
opened URL
==================================================
downloaded 79 Kb
* installing *source* package 'Cairo' ...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
...
gcc -I/usr/share/R/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I. -Iinclude -std=gnu99 -O3 -pipe -g -fpic -std=gnu99 -O3 -pipe -g -c w32-backend.c -o w32-backend.o
gcc -I/usr/share/R/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I. -Iinclude -std=gnu99 -O3 -pipe -g -fpic -std=gnu99 -O3 -pipe -g -c xlib-backend.c -o xlib-backend.o
gcc -shared -o Cairo.so cairobem.o cairogd.o cairotalk.o img-backend.o img-jpeg.o img-tiff.o pdf-backend.o ps-backend.o svg-backend.o w32-backend.o xlib-backend.o -lfreetype -lfontconfig -lpng12 -lz -lXrender -lcairo -lX11 -ljpeg -L/usr/lib64/R/lib -lR
installing to /usr/local/lib/R/site-library/Cairo/libs
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices ...
** testing if installed package can be loaded
* DONE (Cairo)
The downloaded packages are in
'/tmp/Rtmpv9s866/downloaded_packages'