如何在Ubuntu 16.04和17.04上安装Tidyverse

13
我正在运行Ubuntu 16.04 [现在为17.04:请参见下面粗体字中的注释]和R 3.4.1。今天早上我安装了后者,因此我认为这是最新版本。我想安装Tidyverse,我已经在Windows下花费了许多快乐的时间。但是当我执行 install.packages("tidyverse")时,会出现关于未识别gcc命令行选项的错误。当安装遇到颜色空间和munsell包时,这些错误就开始了。我将在本文末尾举一个munsell的例子。
我没有找到其他人在Ubuntu 16.04上遇到过完全相同的问题。但是来自遇到类似问题的人的帖子表明,我的gcc可能是一个版本,它太旧无法识别-fstack-protector-strong和-Wdate-time这些选项。
我想到的可能解决方法:
1)更新Ubuntu至16.10或17.04,希望其中一个具有适当的gcc。然而,这里遇到我的Ubuntu知识不足:特别是,似乎我必须升级两次,一次升级到16.10,然后再升级到17.04。我甚至不能使系统升级到16.10:在我尝试时,https://wiki.ubuntu.com/YakketyYak/ReleaseNotes推荐的步骤“从Ubuntu 16.04 LTS升级”没有找到升级选项。此外,我不确定任何一个Ubuntu都有合适的gcc。 次日添加:虽然我昨天尝试按照https://wiki.ubuntu.com/YakketyYak/ReleaseNotes的方法升级Ubuntu什么也没做,但今天它确实起作用了。可能是缓存问题?所以我现在有了Ubuntu 17.04。但是,当我尝试安装Tidyverse时仍然会出现相同的错误。
2)找到一个不需要这些编译器选项的较旧版本的Tidyverse。

3) 升级我的Ubuntu的gcc。但我不知道这是否会破坏其他需要旧版本gcc的软件。

4) 为Tidyverse安装一个新的gcc,并通过路径操作欺骗安装程序调用它,也许可以按照https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu中的建议进行。但听起来很冒险。

5) 放弃Ubuntu,在Windows上完成所有工作。我知道人们嘲笑"Micro$oft",但至少在Windows上,我不会浪费一个早上来学习Linux的诡秘术语并且可以做我的工作,即R。这感觉太像https://people.dsv.su.se/~jpalme/s1/hoare.pdf中的"软件设计寓言"中的祭司了。只是说一下...

有没有人在这些R和Ubuntu版本上实际执行过此操作,有什么建议?

以下是失败的安装:

`> install.packages("munsell")
Installing package into ‘/home/popx/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependency ‘colorspace’
trying URL 'https://cran.rstudio.com/src/contrib/colorspace_1.3-2.tar.gz' Content type 'application/x-gzip' length 293433 bytes (286 KB) ================================================== downloaded 286 KB
trying URL 'https://cran.rstudio.com/src/contrib/munsell_0.4.3.tar.gz' Content type 'application/x-gzip' length 97244 bytes (94 KB) ================================================== downloaded 94 KB
* 正在安装 *源代码*软件包‘colorspace’... ** 软件包‘colorspace’已成功解压缩并检查了MD5和SUM ** libsgcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -c colorspace.c -o colorspace.o。在这行命令中出现了两个错误:“-fstack-protector-strong”和“-Wdate-time”,导致编译失败,无法安装包“colorspace”和依赖项“munsell”。RStudio显示警告信息,表示不支持R图形引擎版本12。
4个回答

25

在某些情况下,我发现需要安装Ubuntu软件包。要安装Tidyverse,我添加了以下内容

sudo apt-get install r-cran-curl r-cran-openssl r-cran-xml2
安装了这些软件包后,我就能安装Tidyverse了。

3
在我的 Ubuntu 16.04 上,我需要安装 r-cran-rcurl 和 r-cran-xml。因此,请运行以下命令:sudo apt-get install r-cran-xml r-cran-rcurl。 - user3072843
3
记录一下,这也适用于Ubuntu 18.04版本。 - Denwid

6

我也遇到了同样的问题,使用基于Ubuntu 16.04的elementary loki。 阅读输出后,我意识到有一个非常信息丰富的错误消息,看起来像这样:

    ------------------------- ANTICONF ERROR ---------------------------
Configuration failed because openssl was not found. Try installing:
 * deb: libssl-dev (Debian, Ubuntu, etc)
 * rpm: openssl-devel (Fedora, CentOS, RHEL)
 * csw: libssl_dev (Solaris)
 * brew: openssl@1.1 (Mac OSX)
If openssl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a openssl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'

所以我按照每个提示进行操作,安装了必需的deb文件,最终结果是

sudo apt-get install libssl-dev libxml2-dev libcurl4-openssl-dev 

在我尝试安装上述CRAN包但没有添加新存储库之后,它起作用了。


2
我相信您在安装tidyverse软件包时遇到了类似的问题。由于我对Linux相当新手,对R更是一窍不通,因此我遵循了CRAN Project's homepage上的Ubuntu安装说明。当我安装R时,我有意跳过了r-base-dev软件包的安装,因为它说它是面向“软件包维护者”的。我没有真正阅读后面的部分或理解自己编译软件包的必要性。
无论如何,安装r-base-dev软件包后,我可以顺利安装Tidyverse软件包。要使其正常工作的完整步骤应该如下。在终端中执行以下步骤(步骤1-3可能需要也可能不需要,但我已经加上了以防万一):
  1. Add deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu artful/ in your /etc/apt/sources.list file, replacing by the actual URL of your favorite CRAN mirror. See https://cran.r-project.org/mirrors.html for the list of CRAN mirrors.
  2. Add the repository key to your system:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
    

    An alternate method can be used by retrieving the key with

    gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
    

    and then feed it to apt-key with

    gpg -a --export E084DAB9 | sudo apt-key add -
    
  3. To install the complete R system, use

    sudo apt-get update
    sudo apt-get install r-base
    
  4. Then comes the step I missed, that proved crucial to be able to compile the packages within the Tidyverse package, namely installing the r-base-dev package:

    sudo apt-get install r-base-dev
    
  5. Then in RStudio execute the package installation command:

    install.packages(tidyverse)
    
希望这对您也有用。请阅读CRAN项目主页上的安装指南,了解更多关于安装过程的信息。

1

添加CRAN软件源

https://cloud.r-project.org/bin/linux/ubuntu/


说明:以上链接是CRAN在Ubuntu操作系统下的软件源地址。
sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+
sudo apt-get r-cran-tidyverse

那么您安装tidyverse时是从二进制文件中安装,而不是编译,这样可以节省约100倍的时间。


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