Ошибка в 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-битную версию (ту, которая вам нужна) без проблем.

Другие вопросы по тегам