【发布时间】:2018-05-09 05:17:23
【问题描述】:
操作系统: Redhat 7.4
R: 3.4.2
字符串: 1.2.2
您好,我一直在为我们的业务用户配置一个 R 存储库。不幸的是,我在尝试安装 stringi 时被卡住了。我在尝试安装时遇到了错误,到目前为止我的研究还没有出现太多。我确信这是回想起来可能会非常明显的问题之一。
root@ljtp000018:PROD:bin> ./R CMD INSTALL stringi_1.2.2.tar.gz
* installing to library ‘/home/rrepo/R_Home/R-3.4.2/library’
* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
checking for R_HOME... /home/rrepo/R_Home/R-3.4.2
checking for R... /home/rrepo/R_Home/R-3.4.2/bin/R
checking for endianness... little
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for local ICUDT_DIR... icu61/data
checking for cat... /usr/bin/cat
checking for gcc... gcc -std=gnu99
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 -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... /lib/cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking whether we are using the GNU C++ compiler... no
checking whether accepts -g... no
checking whether the C++ compiler supports the long long type... no
*** trying with disabled C++11 compiler
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether the C++ compiler supports the long long type... yes
checking whether the compiler implements namespaces... yes
checking whether the compiler supports Standard Template Library... yes
checking whether std::map is available... yes
checking for pkg-config... /usr/bin/pkg-config
checking with pkg-config for the system ICU4C... 61.1
checking for ICU4C >= 52... yes
checking for additional required CPPFLAGS, LDFLAGS, and LIBS... done
checking whether we may build an ICU4C-based project... no
*** The available ICU4C cannot be used
checking whether we may compile src/icu61/common/putil.cpp... no
checking whether we may compile src/icu61/common/putil.cpp with -D_XPG6... no
*** The ICU4C bundle could not be build. Upgrade your compiler flags.
ERROR: configuration failed for package ‘stringi’
* removing ‘/home/rrepo/R_Home/R-3.4.2/library/stringi’
脚本似乎有两个错误 - 无法构建基于 ICU4 的项目,然后无法编译 .cpp 文件。
我已确认我已通过 yum 安装了所有 gcc 软件包,并且它似乎可以正确检测 G++。是否需要额外的非标准包才能成功编译?
我还搜索了 ICU4C 开发包,以防出现“构建基于 ICU 的项目”错误所必需的情况,但在那里找不到任何东西。当然 yum 中可用的 ICU 包是 50.2,对于 stringi 安装来说太旧了。
我也尝试使用 stringi-master zip 进行安装,结果相似。
我相信很多其他人之前都遇到过这个问题 - 任何建议都将不胜感激。
提前致谢。
【问题讨论】:
-
有什么理由不能使用
install.packages("stringi")? -
你也可以试试
devtools::install_github("gagolews/stringi/") -
不幸的是,服务器被外部站点设置了防火墙。我们确实有一个 Nexus 存储库,我已连接到 install.packages,但它以相同的错误输出结束。不过感谢您的建议。