Ошибка в inDL(x, as.logical(local), as.logical(now), ...): невозможно загрузить общий объект
У меня ошибка при попытке прикрепить пакет tidyselect
и при попытке позвонить tidyselect::any_function
,
Ошибка происходит в Rstudio
или командной строки, в RStudio
это срабатывает, как только я набираю: tidyselect::
, хоть ?tidyselect::
работает нормально, и я могу вызвать помощь ?tidyselect::any_function
,
Это также работает:
packageVersion("tidyselect") # [1] ‘0.2.4
Раньше работал, и я не понимаю, что изменилось, я просто знаю пакет rjava
был установлен, администраторы также могли что-то изменить.
Сначала всплывающее окно говорит:
Не удалось найти точку входа в процедуру R_ContinueUnwind в библиотеке динамических ссылок R.dll
Затем в консоли отображается ошибка:
Ошибка в inDL(x, as.logical(local), as.logical(now), ...):
невозможно загрузить общий объект '//edited_UNC_path.com/edited_path/tidyselect/libs/x64/tidyselect.dll':
Ошибка LoadLibrary: указанная процедура не найдена.
dll
Файл существует:
file.exists('//edited_UNC_path.com/edited_path/tidyselect/libs/x64/tidyselect.dll') # [1] TRUE
конфиг:
sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.3.1
Любая идея, как я могу решить это?
1 ответ
Это было решено переустановкой tidyselect
с помощью:
install.packages("tidyselect",INSTALL_opts="--no-multiarch")
(Хотя пакет может быть установлен с install.packages("tidyselect")
без ошибок.
Этот ответ указал мне на решение (хотя это совершенно другой вопрос).
Кажется, что это действительно было проблемой с rjava
,
Цитирую связанный ответ:
решение было использовать опцию установки, которая просто забывает об архитектуре i386. (также работает с библиотекой drat и пакетами не из CRAN
Это все китайское для меня, хотя и ?utils::install.packages
не поможет, я с радостью поддержу / приму ответ, который объясняет, что происходит.
Я не знаю, почему происходит это событие, поскольку сейчас я столкнулся с той же проблемой. В любом случае я могу объяснить ваше решение.
32 против 64 бит
Ваша система 64-битная, как показано в вашем sessionInfo()
. i386
архитектура предназначена для более старых систем, в 32 бита (они могут обрабатывать только ограниченный объем памяти, поскольку они используют 32-битные адреса памяти, в то время как 64-битные системы сегодня практически неограниченны).
Что происходит в R
Классическая установка в R - это "многоархитектурная" для многоархитектурных архитектур, что означает 32- и 64-разрядную версию. В 64-битных системах нет проблем со сборкой 32-битного программного обеспечения. Однако у вас могут не быть установлены все зависимости (например, библиотеки C++) для обеих архитектур. Очевидно, проблема с вашей 32-битной установкой. Затем установите пакет сINSTALL_opts="--no-multiarch"
устанавливает только 64-битную версию (ту, которая вам нужна) без проблем.