macOS fre sh установка R - devtools выдает ошибку segfault - - PullRequest
0 голосов
/ 13 февраля 2020

Я выполнил бесплатную sh переустановку R 3.6 на MacOS. Mo java v 10.14.6. Я установил clang 7 здесь из предоставленного установщика /usr/local/clang7

У меня есть xcode

Но что-то не так с установкой, что я могу выяснить,

.libPaths()
[1] "/Users/annaleigh/Library/R/3.6/library"                        
[2] "/Library/Frameworks/R.framework/Versions/3.6/Resources/library"
> install.packages("devtools")
Installing package into ‘/Users/annaleigh/Library/R/3.6/library’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/bin/macosx/el-capitan/contrib/3.6/devtools_2.2.1.tgz'
Content type 'application/x-gzip' length 339075 bytes (331 KB)
==================================================
downloaded 331 KB


The downloaded binary packages are in
    /var/folders/xr/lmkkh0p10t948k1n104z1jsh0000gn/T//Rtmpf54J79/downloaded_packages
> library(devtools)
\Loading required package: usethis

 *** caught segfault ***
address 0x2c2e0, cause 'memory not mapped'

Однако использование этой библиотеки, похоже, прекрасно загружается

> library(usethis)
> library(devtools)

 *** caught segfault ***
address 0x2c2e0, cause 'memory not mapped'

Traceback:
 1: dyn.load(file, DLLpath = DLLpath, ...)
 2: library.dynam(lib, package, package.lib)
 3: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])
 4: asNamespace(ns)
 5: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc,     .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package)
 6: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])
 7: asNamespace(ns)
 8: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc,     .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package)
 9: loadNamespace(package, lib.loc)
10: doTryCatch(return(expr), name, parentenv, handler)
11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
12: tryCatchList(expr, classes, parentenv, handlers)
13: tryCatch({    attr(package, "LibPath") <- which.lib.loc    ns <- loadNamespace(package, lib.loc)    env <- attachNamespace(ns, pos = pos, deps, exclude, include.only)}, error = function(e) {    P <- if (!is.null(cc <- conditionCall(e)))         paste(" in", deparse(cc)[1L])    else ""    msg <- gettextf("package or namespace load failed for %s%s:\n %s",         sQuote(package), P, conditionMessage(e))    if (logical.return)         message(paste("Error:", msg), domain = NA)    else stop(msg, call. = FALSE, domain = NA)})
14: library(devtools)

1 Ответ

0 голосов
/ 13 февраля 2020

Ответ найден здесь: https://github.com/r-lib/devtools/issues/1292

"Наконец, посмотрел на .libPath () и понял, что оба экземпляра R смотрели на пользовательскую библиотеку до системной библиотеки. Так что если пакеты были связаны с различными системными библиотеками из скомпилированных версий (в моем случае OS X Sierra и El Capitan), это могло вызвать ошибку сегмента.

Удаление библиотек в пользовательской библиотеке ~ / user / Library / R / version # исправлена ​​проблема (с установкой в ​​разные места) "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...