Ошибка компиляции r cpp при установке пакетов R 3.5 (Ubuntu 16.04) - PullRequest
0 голосов
/ 13 февраля 2020

Мне не удается установить tidyverse или devtools, и я получаю эту ошибку:

/usr/lib/R/etc/Makeconf:172: recipe for target 'RcppExports.o' failed
make: *** [RcppExports.o] Error 1

Например, это результаты для install.packages ("tidyverse", dependencies = TRUE) :

 ^
/usr/lib/R/etc/Makeconf:172: recipe for target 'RcppExports.o' failed
make: *** [RcppExports.o] Error 1
ERROR: compilation failed for package ‘xml2’
* removing ‘/usr/local/lib/R/site-library/xml2’
ERROR: dependency ‘xml2’ is not available for package ‘rvest’
* removing ‘/usr/local/lib/R/site-library/rvest’
ERROR: dependencies ‘rvest’, ‘xml2’ are not available for package ‘tidyverse’
* removing ‘/usr/local/lib/R/site-library/tidyverse’

Моя версия R:

platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          5.3                         
year           2019                        
month          03                          
day            11                          
svn rev        76217                       
language       R                           
version.string R version 3.5.3 (2019-03-11)
nickname       Great Truth       

Я пытался установить каждую отдельную зависимость, но каждый раз получал одну и ту же ошибку (иногда с другим созвездием зависимостей: rvest, roxygen2, rversions, lintr, и др * * тысяча двадцать-одна.). Я также попытался удалить R cpp и переустановить его. Я пытался обновить свои пакеты (update.packages (checkBuilt = TRUE, ask = FALSE). Я не перепутал другие настройки. Это работает в Ubuntu 16.04 с 2 ГБ ОЗУ. Может ли это быть проблема с памятью? Мне нужно начать с нуля и переустановить?

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial
              total        used        free      shared  buff/cache   available
Mem:           1971         932         653          16         385         830
Swap:           999         518         481

ДОБАВЛЕННАЯ ИНФОРМАЦИЯ: Я видел, что в другом месте было предложено попробовать установить последнюю версию xml2 из github: remotes :: install_github ("hadley / xml2" )

Это ошибка (аналогичная предыдущей), которую я получил при этом:

  ^
   /usr/lib/R/etc/Makeconf:172: recipe for target 'RcppExports.o' failed
   make: *** [RcppExports.o] Error 1
   ERROR: compilation failed for package ‘xml2’
─  removing ‘/tmp/RtmpNcUpLL/Rinst1bbc679e28bc/xml2’
         -----------------------------------
   ERROR: package installation failed
Error: Failed to install 'xml2' from GitHub:
  System command 'R' failed, exit status: 1, stdout + stderr (last 10 lines):
>                  from RcppExports.cpp:4:
> /usr/include/unicode/ucnv.h:585:1: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
>  U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close);
>  ^
> /usr/lib/R/etc/Makeconf:172: recipe for target 'RcppExports.o' failed
> make: *** [RcppExports.o] Error 1
> ERROR: compilation failed for package ‘xml2’
> * removing ‘/tmp/RtmpNcUpLL/Rinst1bbc679e28bc/xml2’
>       -----------------------------------
> ERROR: package installation failed
> 

Результаты из конфигурации R CMD --all


CC = gcc -std=gnu99
CFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CPICFLAGS = -fpic
CPP = gcc -std=gnu99 -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXXPICFLAGS = -fpic
CXX11 = g++
CXX11STD = -std=gnu++11
CXX11FLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXX11PICFLAGS = -fpic
CXX14 = g++
CXX14STD = -std=gnu++14
CXX14FLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXX14PICFLAGS = -fpic
CXX98 = g++
CXX98STD = -std=gnu++98
CXX98FLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXX98PICFLAGS = -fpic
CXX17 =
CXX17STD =
CXX17FLAGS =
CXX17PICFLAGS =
CXX1X = g++
CXX1XSTD = -std=gnu++11
CXX1XFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXX1XPICFLAGS = -fpic
DYLIB_EXT = .so
DYLIB_LD = gcc -std=gnu99
DYLIB_LDFLAGS = -shared -fopenmp
F77 = gfortran
FFLAGS = -g -O2 -fstack-protector-strong
FPICFLAGS = -fpic
FLIBS = -lgfortran -lm -lquadmath
SAFE_FFLAGS = -g -O2 -fstack-protector-strong -msse2 -mfpmath=sse
FC = gfortran
FCFLAGS = -g -O2 -fstack-protector-strong
FCPICFLAGS = -fpic
OBJC =
OBJCFLAGS =
JAVA = /usr/lib/jvm/default-java/jre/bin/java
JAVAC = /usr/lib/jvm/default-java/bin/javac
JAVAH = /usr/lib/jvm/default-java/bin/javah
JAR = /usr/lib/jvm/default-java/bin/jar
JAVA_HOME = /usr/lib/jvm/default-java
JAVA_LIBS = -L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm
JAVA_CPPFLAGS = -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
LDFLAGS = -Wl,-Bsymbolic-functions -Wl,-z,relro
SHLIB_CFLAGS =
SHLIB_CXXLD = g++
SHLIB_CXXLDFLAGS = -shared
SHLIB_CXX98LD = g++ -std=gnu++98
SHLIB_CXX98LDFLAGS = -shared
SHLIB_CXX11LD = g++ -std=gnu++11
SHLIB_CXX11LDFLAGS = -shared
SHLIB_CXX14LD = g++ -std=gnu++14
SHLIB_CXX14LDFLAGS = -shared
SHLIB_CXX17LD =
SHLIB_CXX17LDFLAGS = -shared
SHLIB_EXT = .so
SHLIB_FFLAGS =
SHLIB_LD = gcc -std=gnu99
SHLIB_LDFLAGS = -shared
SHLIB_FCLD = gfortran
SHLIB_FCLDFLAGS = -shared
SHLIB_CXX1XLD = g++ -std=gnu++11
SHLIB_CXX1XLDFLAGS = -shared
TCLTK_CPPFLAGS = -I/usr/include/tcl8.6 -I/usr/include/tcl8.6
TCLTK_LIBS = -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -L/usr/lib/x86_64-linux-gnu -ltk8.6 -lX11 -lXss -lXext
BLAS_LIBS = -lblas
LAPACK_LIBS = -llapack
MAKE = make
LIBnn = lib
LOCAL_SOFT =
COMPILED_BY =

1 Ответ

0 голосов
/ 17 февраля 2020

В итоге я смог установить xml2 в другой каталог библиотеки, выполнив это в командной строке:

sudo apt-get install r-cran-xml2 

Это установило xml2 в каталог / usr / lib / R / site-library, тогда как с помощью R и install.packages по умолчанию устанавливается в каталог / usr / local / lib / R / site-library, который не работает.

После установки xml2 я смог установить devtools и своего рода sorta решил мою проблему на данный момент, но я все еще получаю ошибку r cpp, если я пытаюсь установить tidyverse или несколько других пакетов, используя sudo R -> install.packages ("xml2"). Мне было бы интересно узнать, что происходит, если кто-нибудь когда-нибудь случится с этим и что-нибудь поймет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...