繁体   English   中英

在 Linux Z3D945423F8E9496C64265A 上的 R 4 上安装 stringi package 时出错

[英]Error installing the stringi package on R 4 on Linux Ubuntu

I'm trying to install the roxygen2 package on R 4.0.3 on Linux Ubuntu 16.04.7 LTS. 它失败了,因为它需要首先安装stringi package; 我尝试使用通常的命令install.packages("stringi")安装它,但它再次失败,我不明白为什么。 这是日志:

install.packages("stringi") 将 package 安装到 '/home/dave/R/x86_64-conda-linux-gnu-library/4.0' (因为 'lib' 未指定) --- 请 select a CRAN 中使用这 session --- 尝试 URL 'https://ftp.eenet.ee/pub/cran/src/contrib/stringi_1.5.3.tar.gz' 内容类型 'application/x-gzip' 长度 7293.3 MB ====================================================已下载 7.0 MB

安装package 'stringi'... ** package 'stringi' 成功解压并检查 MD5 总和 ** 使用分阶段安装检查 R_HOME... /home/dave/miniconda3/envs/r4-base/lib/R R... /home/dave/miniconda3/envs/r4-base/lib/R/bin/R checking for endianness... little checking for R >= 3.1.0 for C++11 use... yes checking for R < 3.4.0 用于 CXX1X 标志使用...不检查 cat.../bin/cat 检查本地 ICUDT_DIR...icu61/data 检查 x86_64-conda-linux-gnu-gcc...x86_64-conda-linux -gnu-cc 检查 C 编译器是否工作...是检查 C 编译器默认 output 检查文件名... a.out 检查是否是可执行文件的后缀...对于 object 文件的后缀... o 检查我们是否使用 GNU C 编译器... 是 检查 x86_64-conda-linux-gnu-cc 是否接受 -g... 是 检查 x86_64-conda-linux-gnu- cc 选项接受 ISO C89... 无需检查如何运行 C 预处理器... /home/dave/miniconda3/envs/r4-base/bin/x86_64-conda-linux-gnu-cpp 检查 grep长行和 -e... /bin/grep 检查 egrep... /bin/grep -E 检查 ANSI C header 文件... 是检查 sys/types.h... 是 检查 sys/stat .h...是检查stdlib.h...是检查string.h...是检查memory.h...是检查strings.h...是检查inttypes.h...是的,检查 stdint.h... 是的,检查 unistd.h... 是的,检查 elf.h 的可用性... 是的,检查 elf .h 存在...是检查 elf.h...是检查我们是否使用 GNU C++ 编译器...是检查 x86_64-conda-linux-gnu-c++ -std=gnu++11 是否接受 -g ...是检查 C++ 编译器是否支持 long long 类型...是检查编译器是否实现命名空间...是检查编译器是否支持标准模板库...是检查 std::map 是否可用.. . 是检查 pkg-config... /usr/bin/pkg-config 检查系统 ICU4C 的 pkg-config... 55.1 检查 ICU4C >= 55... 是检查其他必需的 CPPFLAGS、LDFLAGS 和LIBS...完成检查我们是否可以构建基于 ICU4C 的项目...是以编程方式检查是否有足够的 U_ICU_VERSION_MAJOR_NUM...是以编程方式检查是否已定义和设置 U_CHARSET_IS_UTF8...不检查可用的 ICU 数据库(ucnv、uloc , utrans)...是的检查对于可用的 ICU 数据库 (ucol)... 是 配置:正在创建./config.status config.status:正在创建 src/Makevars config.status:正在创建 src/uconfig_local.h config.status:正在创建 src/install.libs.R

*** stringi 配置摘要:ICU_FOUND=1 STRINGI_CXXSTD=CXX_STD=CXX11 STRINGI_CFLAGS= -fpic STRINGI_CPPFLAGS=-I。 -I/usr/include/x86_64-linux-gnu -UDEBUG -DNDEBUG -DU_HAVE_ELF_H STRINGI_CXXFLAGS= -fpic STRINGI_LDFLAGS=-L/usr/lib/x86_64-linux-gnu
STRINGI_LIBS=-licui18n -licuuc -licudata

*** 使用的编译器设置:CC=x86_64-conda-linux-gnu-cc LD=x86_64-conda-linux-gnu-c++ -std=gnu++11 CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/dave/miniconda3/envs/r4-base/include -fdebug-prefix-map=/home/conda/feedstock_root/ build_artifacts/r-base-split_1608831447945/work=/usr/local/src/conda/r-base-4.0.3 -fdebug-prefix-map=/home/dave/miniconda3/envs/r4-base=/usr/local /src/conda-prefix -fpic
CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/dave/miniconda3/envs/r4-base/include -I/home/dave/miniconda3/envs/r4-base/include -Wl,-rpath-link, /home/dave/miniconda3/envs/r4-base/lib -UDEBUG -DNDEBUG CXX=x86_64-conda-linux-gnu-c++ -std=gnu++11 CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/dave/miniconda3/envs/r4-base/include -fdebug -prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1608831447945/work=/usr/local/src/conda/r-base-4.0.3 -fdebug-prefix-map=/home/dave/ miniconda3/envs/r4-base=/usr/local/src/conda-prefix -fpic
LDFLAGS=
图书馆=

** 库 x86_64-conda-linux-gnu-c++ -std=gnu++11 -I"/home/dave/miniconda3/envs/r4-base/lib/R/include" -DNDEBUG -I. -I/usr/include/x86_64-linux-gnu -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/dave/miniconda3/envs/r4-base/include -I/home/dave/miniconda3 /envs/r4-base/include -Wl,-rpath-link,/home/dave/miniconda3/envs/r4-base/lib -fpic -fpic -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/dave/miniconda3/envs/r4-base/include -fdebug-prefix-map =/home/conda/feedstock_root/build_artifacts/r-base-split_1608831447945/work=/usr/local/src/conda/r-base-4.0.3 -fdebug-prefix-map=/home/dave/miniconda3/envs/ r4-base=/usr/local/src/conda-prefix -c stri_brkiter.cpp -o stri_brkiter.o 在 /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/sysroot 包含的文件中/usr/include/math.h:71,来自 /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:45,来自 /home/dave /miniconda3/envs/r4-base/lib/R/include/Rh:50,来自 stri_ext ernal.h:67,来自 stri_stringi.h:36,来自 stri_brkiter.cpp:32:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:63:16:错误:预期的构造函数、析构函数或类型'(' token 63 | 之前的转换 __MATHCALL_VEC (cos,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:65:16: 错误: '(' token 65 | __MATHCALL_VEC (sin,, ( Mdouble __x)) 之前的预期构造函数、析构函数或类型转换; | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:81:22: error: 'sincos' has not been declared 81 | __MATHDECL_VEC (void,sincos,, | ^~~~~~ /usr /include/x86_64-linux-gnu/bits/mathcalls.h:81:29: 错误: ',' 标记 81 | __MATHDECL_VEC (void,sincos,, | ^ /usr/include/x86_64-linux-gnu/ bits/mathcalls.h:82:3: 错误: '(' token 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)) 之前的预期标识符;| ^ /usr/include/x86_64-linux-gnu/bits/ mathcalls.h:82:57: 错误: ';' 标记 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)) 之前的预期构造函数、析构函数或类型转换;| ^ /usr/include/x86_64-linux- gnu/bits/mathcalls.h:100:16: 错误: '(' token 100 | __MATHCALL_VEC (exp,, ( Mdouble __x)); | ^ /usr/include/x86_ 之前的预期构造函数、析构函数或类型转换 64-linux-gnu/bits/mathcalls.h:109:16: 错误: '(' token 109 | 之前的预期构造函数、析构函数或类型转换 __MATHCALL_VEC (log,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:16: 错误: '(' token 153 | __MATHCALL_VEC (pow,, ( Mdouble __x, Mdouble __y) 之前的预期构造函数、析构函数或类型转换)); | ^ 在 /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:94 包含的文件中,来自 /home/dave/miniconda3/ envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:45,来自/home/dave/miniconda3/envs/r4-base/lib/R/include/Rh:50,来自 stri_external.h:67、来自 stri_stringi.h:36、来自 stri_brkiter.cpp:32:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:63:16:错误:预期的构造函数、析构函数或'(' token 63 | __MATHCALL_VEC (cos,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:65:16 之前的类型转换:错误:预期的构造函数,析构函数,或在 '(' token 65 | __MATHCALL_VEC (sin,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:81:22: error: 'sincos' has未声明 81 | __MATHDECL_ VEC (无效,sincos,, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:81:29: error: ',' token 81 之前的预期标识符 | __MATHDECL_VEC (void,sincos,, | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:82:3: error: '(' token 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:82:57: 错误:预期的构造函数、析构函数或类型转换之前 ';' 标记 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:100:16: error: '(' token 100 | __MATHCALL_VEC (exp,, ( Mdouble __x)) 之前的预期构造函数、析构函数或类型转换; | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:109:16: error: '(' token 109 | __MATHCALL_VEC (log,, ( Mdouble __x)) 之前的预期构造函数、析构函数或类型转换; | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:16: 错误: '(' token 153 | __MATHCALL_VEC (pow,, ( Mdouble __x, Mdouble __y)); | ^ 在 /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:141 包含的文件中,来自 /home/dave/ miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:45,来自/home/dave/miniconda3/envs/r4-base/lib/R/include/Rh: 50,来自 stri_external.h:67,来自 stri_stringi.h:36,来自 stri_brkiter.cpp:32:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:63:16:错误:预期的构造函数,析构函数, 或输入 '(' token 63 | 之前的转换 __MATHCALL_VEC (cos,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:65:16: 错误: '(' token 65 | __MATHCALL_VEC (sin,, ( Mdouble __x)) 之前的预期构造函数、析构函数或类型转换; | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:81:22: error: 'sincos' has not been declared 81 | __MATHDECL_VEC (void,sincos,, | ^~~~~~ /usr /include/x86_64-linux-gnu/bits/mathcalls.h:81:29: 错误: ',' 标记 81 | __MATHDECL_VEC (void,sincos,, | ^ /usr/include/x86_64-linux-gnu/ bits/mathcalls.h:82:3: 错误: '(' token 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)) 之前的预期标识符;| ^ /usr/include/x86_64-linux-gnu/bits/ mathcalls.h:82:57: 错误: ';' 标记 82 | ( Mdouble __x, Mdouble *__sinx, Mdouble *__cosx)) 之前的预期构造函数、析构函数或类型转换;| ^ /usr/include/x86_64-linux- gnu/bits/mathcalls.h:100:16: 错误: '(' token 100 | __MATHCALL_VEC (exp,, ( Mdouble __x)); | ^ /usr/include/x86_ 之前的预期构造函数、析构函数或类型转换 64-linux-gnu/bits/mathcalls.h:109:16: 错误: '(' token 109 | 之前的预期构造函数、析构函数或类型转换 __MATHCALL_VEC (log,, ( Mdouble __x)); | ^ /usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:16: 错误: '(' token 153 | __MATHCALL_VEC (pow,, ( Mdouble __x, Mdouble __y) 之前的预期构造函数、析构函数或类型转换)); | ^ 在 /home/dave/miniconda3/envs/r4-base/lib/R/include/Rh:50、stri_external.h:67、stri_stringi.h:36、stri_brkiter.cpp 包含的文件中:32: /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:180:11: 错误: '::cos' 尚未声明 180 | 使用::cos; | ^~~ /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:218:11: 错误: ':: exp' 尚未声明 218 | using::exp; | ^~~ /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3.0/cmath:334: 11: 错误: '::log' 尚未声明 334 | using::log; | ^~~ /home/dave/miniconda3/envs/r4-base/x86_64-conda-linux-gnu/include/c++/9.3 .0/cmath:384:11: 错误: '::pow' 尚未声明 384 | using::pow; | ^~~ /home/dave/miniconda3/envs/r4-base/x86_64-conda -linux-gnu/include/c++/9.3.0/cmath:421:11:错误:'::sin' 尚未声明 421 | 使用::罪; | ^~~ make: *** [/home/dave/miniconda3/envs/r4-base/lib/R/etc/Makeconf:181: stri_brkiter.o] 错误 1 错误:package 'stringi' 的编译失败

  • 删除 '/home/dave/R/x86_64-conda-linux-gnu-library/4.0/stringi'

下载的源包位于'/tmp/RtmpkLYZqu/downloaded_packages' 警告消息:在 install.packages("stringi"): 安装 package 'stringi' 的退出状态非零

关于如何解决这个问题的任何想法或建议?

谢谢

我很高兴能够自己解决这个问题,通过conda安装stringi :-)

这是我遵循的步骤:

  1. 我更新了所有 conda 包: conda update --all

  2. 我更新了 conda: conda update -n base -c defaults conda

  3. 我通过 conda 安装了 stringi: conda install -c r r-stringi

一切顺利,也许步骤(3)本身就足够了。 但我想列出我使用的所有命令。

我希望这个解决方案对其他人也有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM