Использование старых пакетов, которые не были обновлены в более новой версии R

Я обновил R и получаю проблемы, когда хочу запустить старые скрипты. В частности, один из пакетов, которые я использую, был удален из CRAN, и я получаю следующее сообщение об ошибке, когда пытаюсь загрузить установленный пакет (установленный из двоичного файла последней версии пакета без каких-либо проблем. Как видите, рассматриваемый пакет является пакетом ACER):

Failed with error:  ‘package ‘acer’ was built before R 3.0.0: please re-install it’

Можно ли перекомпилировать исходный файл, чтобы получить двоичные файлы, работающие на R > 3.0.0?? Этот пакет нормально работал в предыдущей версии R 3.0.1, но не в R 3.1.1. Есть ли способ правильно загрузить этот пакет в R 3.1.1 (используя либо исходный файл, либо файл, скомпилированный для R 3.0.1?

Я уже пытался установить из исходников, но это не работает. Я получаю эти сообщения об ошибках, которые не имеют для меня особого смысла. Есть ли простой выход из этого?

> install.packages(pkgs="acer_0.1.2.tar.gz", type="source", repos=NULL)

Installing package into ‘C:/Users/user/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package 'acer' ...
** package 'acer' successfully unpacked and MD5 sums checked
** libs

*** arch - i386
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-31~1.1/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-31~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="acer.dll" OBJECTS="estimate_acer.o peaks.o"' had status 127
ERROR: compilation failed for package 'acer'
* removing 'C:/Users/user/Documents/R/win-library/3.1/acer'
* restoring previous 'C:/Users/user/Documents/R/win-library/3.1/acer'
Warning messages:
1: running command '"C:/PROGRA~1/R/R-31~1.1/bin/x64/R" CMD INSTALL -l "C:\Users\user\Documents\R\win-library\3.1" "acer_0.1.2.tar.gz"' had status 1 
2: In install.packages(pkgs = "acer_0.1.2.tar.gz", type = "source",  :
  installation of package ‘acer_0.1.2.tar.gz’ had non-zero exit status

Я также пытался установить его из командной строки, но получаю аналогичные ошибки. Кто-нибудь может помочь?


person Erik    schedule 15.01.2015    source источник
comment
Получите пакет из архива CRAN и установите его из исходного кода.   -  person Joshua Ulrich    schedule 15.01.2015
comment
можно сделать из URL-адреса исходного пакета, например install.packages("http://cran.r-project.org/src/contrib/Archive/acer/acer_0.1.2.tar.gz", repos = NULL, type = "source")   -  person sckott    schedule 15.01.2015
comment
Я отказался от установки на более новую версию R, поэтому вместо этого я установил предыдущую версию 3.0.1 R на другом (Windows) компьютере. Тем не менее, я получаю некоторые ошибки при попытке установить этот пакет. Теперь я получаю статус выхода 1. Кто-нибудь может мне помочь? (Я получаю те же ошибки с другим пакетом - оба были успешно установлены на моем старом ноутбуке с той же версией R). Это ошибки, которые я получаю:   -  person Erik    schedule 21.05.2015
comment
* установка исходного пакета 'acer' ... ** пакет 'acer' успешно распакован и проверены суммы MD5 ** libs ОШИБКА: компиляция не удалась для пакета 'acer' * удаление 'C:/Users/erva /Documents/R/R-3.0.1/library/acer' Предупреждающие сообщения: 1: выполняется команда 'C:/Users/erva/Documents/R/R-3.0.1/bin/x64/R CMD INSTALL -l C :\Users\erva\Documents\R\R-3.0.1\library acer_0.1.2.tar.gz имел статус 1 2: В install.packages(acer_0.1.2.tar.gz, repos = NULL, type = source ) : установка пакета «acer_0.1.2.tar.gz» имела ненулевой статус выхода   -  person Erik    schedule 21.05.2015


Ответы (1)


У вас установлен Rcpp и он на вашем пути?

Я думаю, что код ошибки 127 при make означает, что программа не может быть найдена в вашем $ PATH, и кажется, что единственная зависимость acer - Rcpp.

Надеюсь, это поможет -А

person Arjun    schedule 06.03.2015
comment
Спасибо за совет. Я установил Rcpp и, к сожалению, это не помогло. Я получаю точно такое же сообщение об ошибке. Любые другие идеи, как я могу установить пакет ACER? - person Erik; 31.03.2015
comment
Таким образом, согласно этому вопросу о stackoverflow, 127 означает, что какая-то команда в make-файлах не была понята, или не имеет разрешений +x. Возможно, проверьте три make-файла Makevars.win , C:/PROGRA~1/R/R-31~1.1/etc/i386/Makeconf и C:/PROGRA~1/R/R-31~1.1/share/make/winshlib. .mk для строки, вызывающей инструмент, который у вас не установлен? - person Arjun; 01.04.2015