在Ubuntu 18.04中安装R Cairo软件包失败

5
我尝试在Docker Ubuntu 18.04容器下安装R中的Cairo包。 在安装R Cairo包之前,我在Ubuntu中安装了这些软件包:libgtk2.0-dev、libcairo2-dev、xvfb、xauth、xfonts-base、r-base-dev和libxt-dev。
然而,在安装R中的Cairo包时,我遇到了以下错误:
checking if R was compiled with the RConn patch... no
checking cairo.h usability... yes
checking cairo.h presence... yes
checking for cairo.h... yes
checking for PNG support in Cairo... yes
checking for ATS font support in Cairo... no
configure: CAIRO_LIBS=-lfreetype -lz -lpng16 -lz -lcairo -lXext -lXrender -lX11
checking for library containing deflate... no
checking whether Cairo programs can be compiled... configure: error: Cannot 
compile a simple Cairo program. See config.log for details.
ERROR: configuration failed for package ‘Cairo’
* removing ‘/opt/conda/lib/R/library/Cairo’

The downloaded source packages are in
    ‘/tmp/RtmprETcPh/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("Cairo") :
  installation of package ‘Cairo’ had non-zero exit status

我已经检查了 /tmp/RtmprETcPh/downloaded_packages 目录,只有一个名为 Cairo_1.5-9.tar.gz 的文件。我不知道如何找到 config.log 文件以获取编译简单 Cairo 程序的更多详细信息。
如果有人知道如何解决这个问题,请帮我解决一下。
谢谢。

2
sudo apt install r-cran-cairo -- 此命令是 bionic 的一部分,您可以在此处查看。 - Dirk Eddelbuettel
我尝试了“sudo apt install r-cran-cairo”,但问题仍然存在。 - user10252534
安装了 r-cran-cairo 后,您就不需要再安装该软件包了。它将成为您的 R 安装的一部分! - Ralf Stubner
谢谢,它有效!但我需要先切换到使用R的用户,然后执行 sudo apt install r-cran-cairo - user10252534
不,那将是系统范围的安装,对所有用户自动可用——就像您系统上的其他数千个Ubuntu软件包一样。 - Dirk Eddelbuettel
似乎我的 R 项目访问了不同的目录。Cairo 包已安装在 /usr/lib/R/site-library/Cairo,但我的项目访问了 /usr/local/lib/opencpu/site-library/opt/conda/lib/R/library - user10252534
2个回答

3

由于docker容器可能未运行x11 dev libs,因此您可能需要安装它们。

请尝试以下操作:

sudo apt-get install libx11-dev

1
已安装了libx11-dev,但我仍然无法在R中安装Cairo。 - user10252534
1
根据 https://salsa.debian.org/r-pkg-team/r-cran-cairo/blob/master/debian/control,您需要安装 libcairo2-devlibxt-dev。但请参考我之前的评论:一旦您安装了 r-cran-cairo,就不需要从源代码构建。 - Dirk Eddelbuettel

0
在Ubuntu 20.04下,安装了libx11-dev之后,尝试安装Cairo时出现了X11/Intrinsic.h未找到的错误。这个文件在libxt-dev中。安装了它之后,就可以安装Cairo了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接