Rcpp по-прежнему не может найти Rtools - PullRequest
0 голосов
/ 04 января 2019

Я получил все советы, которые могу найти, и все же не могу заставить Rcpp успешно соединиться с Rtools, даже если find_rtools() возвращает TRUE.

Я работаю под управлением Windows 7 Professional, версия R 3.5.1 (2018-07-02) - «Перо-спрей», Rtools35. Я установил Rtools от имени администратора и пробовал версии 34 и 35 с перезагрузкой и без нее. Моя переменная PATH, кажется, установлена ​​правильно, согласно всем советам. Когда я получаю сообщение об ошибке о необходимости дополнительных инструментов, я пытался позволить Rcpp установить Rtools сам, но без радости. Мой PATH не содержит пробелов, и мне удалось установить и использовать Rcpp на двух других машинах (и даже на текущей, когда я использовал гораздо более раннюю версию R и Rcpp - двойная машина отлично работает со старой версией R).

Появляется сообщение об ошибке ключа:

> find_rtools()
[1] TRUE
> evalCpp("1+1")

make: *** Нет правила для создания целевого файла file137c6efd765d.o, необходимого для sourceCpp_3.dll. Стоп. Ошибка в sourceCpp (code = code, env = env, rebuild = rebuild, cacheDir = cacheDir,: Произошла ошибка 1 при создании общей библиотеки.

но все советы, которые я могу найти для этой ошибки, относятся к ситуациям, когда пользователь сам запускает make. Я получаю ту же ошибку независимо от того, запускаю ли я R напрямую из консоли или через Rstudio (версия 1.1.463). Любые предложения относительно диагностики, которую я могу выполнить / как я мог бы решить эту проблему, получили бы вечную благодарность.

1 Ответ

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

Вы говорите

Я пытался позволить Rcpp установить Rtools сам

, и я могу заверить вас, что у нас в Rcpp нет возможности для этого - аналогично find_rtools() НЕ является нашей функцией.Может быть, вы путаете Rcpp и RStudio и / или devtools.

Быстрый вопрос: Rtools установлен в C: /?Пожалуйста, попробуйте evalCpp("2+2", verbose=TRUE), чтобы увидеть, куда это идет.

Rcpp, как мы документируем, предполагает, что R CMD somecommand работает на вашем компьютере.Это ваша ответственность, поскольку у нас нет доступа к вашему компьютеру

...