kaskr / RTMB

R bindings to TMB
Other
49 stars 6 forks source link

Mac installation failed #5

Closed mebrooks closed 1 year ago

mebrooks commented 1 year ago

This is nothing urgent; I was just curious. It seems there's a problem that may be because I'm using a Mac. I've tried installing a few times on both the standard R console and in RStudio. Both give this result


> remotes::install_github("https://github.com/kaskr/RTMB", subdir="RTMB")
Downloading GitHub repo kaskr/RTMB@HEAD
─  preparing ‘RTMB’: ‘/private/var/folders/8t/zsp25_b17td7j1y5d_nmfqt00000gq/T/RtmpjQMSTO/remotes16a25757738e2/kaskr-RTMB-d399f8f/RTMB/DESCRIPTION’ ...
   checking DESCRIPTION meta-information ...
g++ -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -DTMBAD_FRAMEWORK -DTMB_EIGEN_DISABLE_WARNINGS -DTMB_SAFEBOUNDS -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/TMB/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppEigen/include' -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c RcppExports.cpp -o RcppExports.o
g++ -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -DTMBAD_FRAMEWORK -DTMB_EIGEN_DISABLE_WARNINGS -DTMB_SAFEBOUNDS -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/TMB/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppEigen/include' -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c TMB.cpp -o TMB.o
g++ -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -DTMBAD_FRAMEWORK -DTMB_EIGEN_DISABLE_WARNINGS -DTMB_SAFEBOUNDS -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/TMB/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppEigen/include' -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c complex.cpp -o complex.o
g++ -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -DTMBAD_FRAMEWORK -DTMB_EIGEN_DISABLE_WARNINGS -DTMB_SAFEBOUNDS -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/TMB/include' -I'/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppEigen/include' -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c distributions.cpp -o distributions.o
g++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/opt/R/arm64/lib -o RTMB.so RcppExports.o TMB.o complex.o distributions.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
Creating a generic function for ‘tcrossprod’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘crossprod’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘dnorm’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘diag’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘apply’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘sapply’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘ifelse’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘dexp’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dweibull’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dbinom’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dbeta’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘df’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dlogis’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dt’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dnbinom’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dpois’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘dgamma’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘pnorm’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘pgamma’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘ppois’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘pexp’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘pweibull’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘pbeta’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘qnorm’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘qgamma’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘qexp’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘qweibull’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘qbeta’ from package ‘stats’ in package ‘RTMB’
Creating a generic function for ‘besselK’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘besselI’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘besselJ’ from package ‘base’ in package ‘RTMB’
Creating a generic function for ‘besselY’ from package ‘base’ in package ‘RTMB’

 *** caught segfault ***
address 0x20, cause 'invalid permissions'

Traceback:
 1: Module(module, mustStart = TRUE, where = env)
 2: doTryCatch(return(expr), name, parentenv, handler)
 3: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 4: tryCatchList(expr, classes, parentenv, handlers)
 5: tryCatch(Module(module, mustStart = TRUE, where = env), error = function(e) e)
 6: loadModule(module = "mod_adfun", what = TRUE, env = ns, loadNow = TRUE)
 7: (function (ns) loadModule(module = "mod_adfun", what = TRUE, env = ns, loadNow = TRUE))(<environment>)
 8: doTryCatch(return(expr), name, parentenv, handler)
 9: tryCatchOne(expr, names, parentenv, handlers[[1L]])
10: tryCatchList(expr, classes, parentenv, handlers)
11: tryCatch((function (ns) loadModule(module = "mod_adfun", what = TRUE, env = ns, loadNow = TRUE))(<environment>),     error = function(e) e)
12: eval(substitute(tryCatch(FUN(WHERE), error = function(e) e),     list(FUN = f, WHERE = where)), where)
13: eval(substitute(tryCatch(FUN(WHERE), error = function(e) e),     list(FUN = f, WHERE = where)), where)
14: .doLoadActions(where, attach)
15: methods::cacheMetaData(ns, TRUE, ns)
16: loadNamespace(package, lib.loc)
17: doTryCatch(return(expr), name, parentenv, handler)
18: tryCatchOne(expr, names, parentenv, handlers[[1L]])
19: tryCatchList(expr, classes, parentenv, handlers)
20: 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 && !quietly)         message(paste("Error:", msg), domain = NA)    else stop(msg, call. = FALSE, domain = NA)})
21: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = TRUE)
22: withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage"))
23: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,     character.only = TRUE, logical.return = TRUE))
24: doTryCatch(return(expr), name, parentenv, handler)
25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
26: tryCatchList(expr, classes, parentenv, handlers)
27: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)        dcall <- deparse(call, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")        if (is.na(w))             w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        if (w > LONG)             prefix <- paste0(prefix, "\n  ")    }    else prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e), "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})
28: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,     character.only = TRUE, logical.return = TRUE)))
29: tools:::.test_load_package("RTMB", "/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/00LOCK-RTMB/00new")
An irrecoverable exception occurred. R is aborting now ...

Also

> sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS 13.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.10          compiler_4.1.2       pillar_1.8.1         prettyunits_1.1.1   
 [5] remotes_2.4.2        tools_4.1.2          digest_0.6.31        pkgbuild_1.3.1      
 [9] bit_4.0.4            RSQLite_2.2.10       memoise_2.0.1        tibble_3.1.8        
[13] lifecycle_1.0.3      debugme_1.1.0        pkgconfig_2.0.3      rlang_1.0.6         
[17] DBI_1.1.3            cli_3.5.0            curl_4.3.2           fastmap_1.1.0       
[21] withr_2.5.0          desc_1.4.2           vctrs_0.5.1          rappdirs_0.3.3      
[25] rprojroot_2.0.3      bit64_4.0.5          glue_1.6.2           crancache_0.0.0.9001
[29] parsedate_1.3.0      R6_2.5.1             processx_3.8.0       fansi_1.0.3         
[33] callr_3.7.3          blob_1.2.2           rematch2_2.1.2       magrittr_2.0.3      
[37] ps_1.7.2             cranlike_1.0.2       utf8_1.2.2           cachem_1.0.6        
[41] crayon_1.5.2        
kaskr commented 1 year ago

@mebrooks Can you try to reinstall rcpp from source. Then RTMB?

mebrooks commented 1 year ago

Yes, that fixed the problem. Thanks!