0

我正在使用 R 版本 3.1.2 并想在 RStudio 中安装“羽毛”包:

install.packages("feather", type="source")

使用源版本,因为似乎没有二进制版本。
它确实会提取文件并正确检查 MD5 和,但会在几个子步骤中引发错误:

error: ISO C++ forbids in-class initialization of non-const static member 'xy'

这是 RStudio 告诉我的内容的摘录:

来自 c:\users...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../../。 ./../include/c++/4.6.3/algorithm:63,
来自 ./feather/buffer.h:18,
来自 ./feather/metadata.h:23,
来自 ./feather/reader.h:21,
从羽毛/羽毛-c.cc:21:
c:\users...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6 .3/../../../../include/c++/4.6.3/limits:196:57: 错误:ISO C++ 禁止非 const 静态成员 'is_specialized'
c:\的类内初始化用户...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../../../.. /include/c++/4.6.3/limits:201:48: 错误:ISO C++ 禁止非常量静态成员“数字”的类内初始化
c:\users...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../../.. /../include/c++/4.6.3/limits:204:50: 错误:ISO C++ 禁止非常量静态成员 'digits10' 的类内初始化
...(对于许多其他部分)...
(也对于一些:)
c:\users...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../。 ./../../include/c++/4.6.3/limits:1587:58: 注意:'bool std::numeric_limits::has_quiet_NaN' 不是 const
(and:)
c:\users...\r \win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../../../../include/c++/4.6 .3/limits:1607:51: 错误:'std::numeric_limits::has_infinity' 的值不能用于常量表达式
(然后是一些:)
c:\users...\r\win-library\3.1\rtools\gcc-4.6.3\bin../lib/gcc/i686-w64-mingw32/4.6.3/../../.. /../include/c++/4.6.3/bits/random.tcc:345:7: error: '_M_x' is not declared in this scope
(and finally:)
被之前的错误弄糊涂了,救出
make: *** [feather/feather-co] 错误 1
​​警告:Ausführung von Kommando 'make -f "Makevars" -f "C:/PROGRA~1/R/R-31~1.2/etc/i386/Makeconf" -f "C: /PROGRA~1/R/R-31~1.2/share/make/winshlib.mk" CXX='$(CXX1X) $(CXX1XSTD)' CXXFLAGS='$(CXX1XFLAGS)' CXXPICFLAGS='$(CXX1XPICFLAGS)' SHLIB_LDFLAGS ='$(SHLIB_CXX1XLDFLAGS)' SHLIB_LD='$(SHLIB_CXX1XLD)' SHLIB="feather.dll" OBJECTS="RcppExports.o feather-read.o feather-types.o feather-write.o"'ergab 状态 2
错误:包 'feather' 的编译失败
* 删除 'C:/Users/.../R/win-library/3.1/feather'
* 在 install.packages 中恢复以前的 'C:/Users/.../R/win-library/3.1/feather'
警告:
运行命令 '"C:/PROGRA~1/R/R-31~1.2/bin/x64/R" CMD INSTALL -l "C:\Users...\R\win-library\3.1" C:\用户...\AppData\LocalTemp\RtmpKsxa73/downloaded_pa​​ckages/feather_0.3.2.tar.gz'
在 install.packages 中有状态 1 警告:
安装包 'feather' 的退出状态非零

I wanted to install the feather-package via CRAN. It doesn't work in RStudio, nor does it in the R console. Running this on Windows 8.1.

Anybody have an idea why this won't install?

To me the problem lies somewhere with the package?
Or could it be a problem with authorization (I do not have administrative rights with my user, but I can install anything in C:\Users\my_user)

4

1 回答 1

2

This specific language feature was first supported in GCC 4.7. You have GCC 4.6.3.

You will need to acquire a newer GCC or Clang installation. If I read the error message correctly, you got your GCC from RTools 3.1. Looking at the project page for Rtools, Rtools 3.3 and up default to GCC 4.9 and up, which should support the code used by your feather extension.

于 2019-01-25T12:36:07.427 回答