R: Ошибка компиляции "ISO C ++ запрещает инициализацию в классе неконстантного статического члена" при установке пакета пера - PullRequest
0 голосов
/ 25 января 2019

Я использую 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,
из пера / feather-c.cc: 21:
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/limits:196:57: ошибка: ISO C ++ запрещает инициализацию в классе неконстантного статического члена 'is_specialized'
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/limits:201:48: ошибка: ISO C ++ запрещает инициализацию в классе неконстантного статического члена 'цифры'
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/limits:204:50: ошибка: ISO C ++ запрещает инициализацию в классе неконстантного статического члена digits10
... (для многих других частей) ...
(также для некоторых:)
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/limits:1587:58: примечание: 'bool std :: numeric_limits :: has_quiet_NaN' не является константой
(И:)
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/limits:1607:51: ошибка: значение 'std :: numeric_limits :: has_infinity' невозможно использовать в константном выражении
(затем некоторые:)
C: \ Users ... \ г \ беспроигрышная библиотека \ 3.1 \ rtools \ GCC-4.6.3 \ бен ../ Библиотека / GCC / i686-w64-mingw32 / 4.6.3 /../../ .. /../include/c++/4.6.3/bits/random.tcc:345:7: ошибка: '_M_x' не было объявлено в этой области
(и наконец:)
смущен более ранними ошибками, выручил
make: *** [feather / feather-c.o] Ошибка 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. '$ (SHLIB_CXX1XLD)' SHLIB = "feather.dll" OBJECTS = "RcppExports.o feather-read.o feather-types.o feather-write.o" 'ergab Status 2
ОШИБКА: ошибка компиляции для пакета 'feather'
* удаление 'C: / Users /.../ R / win-library / 3.1 / feather'
* восстановление предыдущего C: / Users /.../ R / win-library / 3.1 / feather '
Предупреждение в install.packages:
запустив команду '"C: /PROGRA~1/R/R-31~1.2/bin/x64/R" CMD INSTALL -l "C: \ Users ... \ R \ win-library \ 3.1" C: \ Users ... \ AppData \ LocalTemp \ RtmpKsxa73 /loaded_packages / feather_0.3.2.tar.gz 'имеет статус 1
Предупреждение в install.packages:
установка пакета «перо» имела ненулевой статус выхода

Я хотел установить пух-пакет через CRAN. Это не работает в RStudio и не работает в консоли R. Запуск этого на Windows 8.1.

У кого-нибудь есть идея, почему он не будет установлен?

Для меня проблема лежит где-то с пакетом?
Или это может быть проблема с авторизацией (у меня нет прав администратора с моим пользователем, но я могу установить все что угодно в C: \ Users \ my_user)

1 Ответ

0 голосов
/ 25 января 2019

Эта особая языковая функция была впервые поддержана в GCC 4.7 .У вас есть GCC 4.6.3.

Вам потребуется приобрести более новую установку GCC или Clang.Если я правильно прочитал сообщение об ошибке, вы получили свой GCC от RTools 3.1.Посмотрите на страницу проекта для Rtools , Rtools 3.3 и выше по умолчанию до GCC 4.9 и выше, которая должна поддерживать код, используемый вашим расширением feather.

...