2016-09-11 94 views
1

我安装RStudio和R在Ubuntu 16.04安装[R包中注明 “DevTools”(Xenial)的Linux:问题在Ubuntu 16.04(Xenial)

[email protected]:~/.Rlibs$ R --version 
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair" 
Copyright (C) 2016 The R Foundation for Statistical Computing 
Platform: x86_64-pc-linux-gnu (64-bit) 

我的问题是,我无法安装包中注明 “DevTools” 。我收到一系列错误,并且迄今为止所有尝试安装所需的依赖项都失败了。看来即使安装了软件包也无法找到软件包。

我会很感激任何帮助!发生

的错误尝试安装在RStudio中注明“DevTools”包或使用R控制台时:

install.packages("devtools") 

这是我收到的错误(省去了下载输出):

* installing *source* package ‘mime’ ... 
** package ‘mime’ successfully unpacked and MD5 sums checked 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c rawmatch.c -o rawmatch.o 
gcc: error: unrecognized command line option ‘-fstack-protector-strong’ 
gcc: error: unrecognized command line option ‘-Wdate-time’ 
/usr/lib/R/etc/Makeconf:132: recipe for target 'rawmatch.o' failed 
make: *** [rawmatch.o] Error 1 
ERROR: compilation failed for package ‘mime’ 
* removing ‘/home/user/.Rlibs/mime’ 
Warning in install.packages : 
    installation of package ‘mime’ had non-zero exit status 
* installing *source* package ‘curl’ ... 
** package ‘curl’ successfully unpacked and MD5 sums checked 
Found pkg-config cflags and libs! 
Using PKG_CFLAGS= 
Using PKG_LIBS=-lcurl 
------------------------- ANTICONF ERROR --------------------------- 
Configuration failed because libcurl was not found. Try installing: 
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc) 
* rpm: libcurl-devel (Fedora, CentOS, RHEL) 
* csw: libcurl_dev (Solaris) 
If libcurl is already installed, check that 'pkg-config' is in your 
PATH and PKG_CONFIG_PATH contains a libcurl.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=...' 
-------------------------------------------------------------------- 
ERROR: configuration failed for package ‘curl’ 
* removing ‘/home/user/.Rlibs/curl’ 
Warning in install.packages : 
    installation of package ‘curl’ had non-zero exit status 
* installing *source* package ‘openssl’ ... 
** package ‘openssl’ successfully unpacked and MD5 sums checked 
Found pkg-config cflags and libs! 
Using PKG_CFLAGS= 
Using PKG_LIBS=-lssl -lcrypto 
------------------------- 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 (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=...' 
-------------------------------------------------------------------- 
ERROR: configuration failed for package ‘openssl’ 
* removing ‘/home/user/.Rlibs/openssl’ 
Warning in install.packages : 
    installation of package ‘openssl’ had non-zero exit status 
* installing *source* package ‘digest’ ... 
** package ‘digest’ successfully unpacked and MD5 sums checked 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c aes.c -o aes.o 
gcc: error: unrecognized command line option ‘-fstack-protector-strong’ 
gcc: error: unrecognized command line option ‘-Wdate-time’ 
/usr/lib/R/etc/Makeconf:132: recipe for target 'aes.o' failed 
make: *** [aes.o] Error 1 
ERROR: compilation failed for package ‘digest’ 
* removing ‘/home/user/.Rlibs/digest’ 
Warning in install.packages : 
    installation of package ‘digest’ had non-zero exit status 
* installing *source* package ‘jsonlite’ ... 
** package ‘jsonlite’ successfully unpacked and MD5 sums checked 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -Iyajl/api  -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c base64.c -o base64.o 
gcc: error: unrecognized command line option ‘-fstack-protector-strong’ 
gcc: error: unrecognized command line option ‘-Wdate-time’ 
/usr/lib/R/etc/Makeconf:132: recipe for target 'base64.o' failed 
make: *** [base64.o] Error 1 
ERROR: compilation failed for package ‘jsonlite’ 
* removing ‘/home/user/.Rlibs/jsonlite’ 
Warning in install.packages : 
    installation of package ‘jsonlite’ had non-zero exit status 
* installing *source* package ‘git2r’ ... 
** package ‘git2r’ successfully unpacked and MD5 sums checked 
checking build system type... x86_64-unknown-linux-gnu 
checking host system type... x86_64-unknown-linux-gnu 
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 for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking for library containing inflate... no 
configure: error: in `/tmp/RtmpMyvGHt/R.INSTALL4c4a1e9555fc/git2r': 
configure: error: 
    --------------------------------------------- 
    The zlib library that is required to build 
    git2r was not found. 

    Please install: 
    zlib1g-dev (package on e.g. Debian and Ubuntu) 
    zlib-devel (package on e.g. Fedora, CentOS and RHEL) 
    and try again. 

    If the zlib library is installed on your 
    system but the git2r configuration is 
    unable to find it, you can specify the 
    include and lib path to zlib with: 
    R CMD INSTALL --configure-args='--with-zlib-include=INCLUDE_PATH --with-zlib-lib=LIB_PATH' git2r 
    --------------------------------------------- 
See `config.log' for more details 
ERROR: configuration failed for package ‘git2r’ 
* removing ‘/home/user/.Rlibs/git2r’ 
Warning in install.packages : 
    installation of package ‘git2r’ had non-zero exit status 
ERROR: dependencies ‘jsonlite’, ‘mime’, ‘curl’, ‘openssl’ are not available for package ‘httr’ 
* removing ‘/home/user/.Rlibs/httr’ 
Warning in install.packages : 
    installation of package ‘httr’ had non-zero exit status 
ERROR: dependency ‘digest’ is not available for package ‘memoise’ 
* removing ‘/home/user/.Rlibs/memoise’ 
Warning in install.packages : 
    installation of package ‘memoise’ had non-zero exit status 
ERROR: dependencies ‘httr’, ‘memoise’, ‘digest’, ‘jsonlite’, ‘git2r’ are not available for package ‘devtools’ 
* removing ‘/home/user/.Rlibs/devtools’ 
Warning in install.packages : 
    installation of package ‘devtools’ had non-zero exit status 
+0

您是否尝试过在您的ubuntu系统(以及它告诉您的所有其他库)上安装'libcurl4-openssl-dev'?即'suda apt-get install libcurl4-openssl-dev' – SymbolixAU

+0

是的,软件包已安装:'sudo apt-get install libcurl4-openssl-dev' - > libcurl4-openssl-dev已经是最新版本(7.47.0 -1ubuntu2.1)。 – shscoder

+0

为了完整起见,它还提到'libssl-dev' - 你有没有检查过? – jakub

回答

2

我发现了以下错误:

gcc: error: unrecognized command line option ‘-fstack-protector-strong’ 
gcc: error: unrecognized command line option ‘-Wdate-time’ 

我经历了同样的问题时,我想使用过时版本的gcc(特别是4.8)来解决我的一个项目中的一些兼容性问题。编译器标记“-Wdate-time”“-fstack-protector-strong”在较旧的gcc版本中不可用。尽管如此,一些类似的标志“-fstack-protector-all”在一些较旧的gcc版本中可用。

总而言之,这个错误消息是由于开发人员希望最新的gcc和使用的编译器标志为最新的gcc版本,但系统中安装的gcc过时。

希望对未来可能遇到此问题的其他人有所帮助。