[
https://issues.apache.org/jira/browse/ARROW-11963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302991#comment-17302991
]
Neal Richardson commented on ARROW-11963:
-----------------------------------------
Thanks. This kind of failure often means that the compiler that built the Arrow
C++ library is not the same as the one that R used to compile the package. When
you just do `install.packages("arrow")` without installing the C++ library
separately, it will build with the matching compiler and flags. I'm not sure
why that installation failed for you, but if you look at the docs link that the
error message suggested
(https://arrow.apache.org/docs/r/articles/install.html#troubleshooting), there
are a few possibilities.
Among the options now:
1. Check out what {{R CMD config CXX11}} says, and check that it matches the
compiler from your cmake output (gcc 10 I believe I saw, it's at the top). If
that doesn't match, you can set CC and CXX to match what R has set and retry
the C++ library build. (See
https://github.com/apache/arrow/blob/master/r/tools/linuxlibs.R#L317-L318 for
reference.)
2. Uninstall the Arrow C++ library you built, set the env var
{{ARROW_R_DEV=true}} for more verbosity on the build, retry the bundled build
with install.packages("arrow"), and let's see why that failed. Even if #1 works
for you, I would be interested to see this if you don't mind--we work hard so
that this doesn't happen, and I'd like to know more so we can fix it.
> Arrow installation issue with R 4.0.4 on Fedora 33
> --------------------------------------------------
>
> Key: ARROW-11963
> URL: https://issues.apache.org/jira/browse/ARROW-11963
> Project: Apache Arrow
> Issue Type: Bug
> Components: R
> Affects Versions: 3.0.0
> Environment: Linux, Fedora 33
> Reporter: Ahmed Riza
> Priority: Major
> Attachments: R_arrow_install.log.gz, R_arrow_install_clean.log.gz,
> cmake.log, make.log.gz
>
>
> I have been trying to install "arrow" package, using R 4.0.4 on Linux (Fedora
> 33). I have built and installed the C++ arrow libraries (using release
> version 3.0.0) following the instructions at
> [https://arrow.apache.org/docs/r/.|https://arrow.apache.org/docs/r/]
> Then, from R, I tried to install "arrow":
> {code:java}
> install.packages("arrow"){code}
> This fails during the verification stage:
> {code:java}
> ** testing if installed package can be loaded from temporary location
> sh: line 1: 8386 Segmentation fault (core dumped) R_TESTS=
> '/usr/lib64/R/bin/R' --no-save --no-restore --no-echo 2>&1 <
> '/tmp/RtmpWtq6vV/file1f4b570a7335'
> caught segfault ***
> address (nil), cause 'memory not mapped'
> Traceback:
> 1: dyn.load(file, DLLpath = DLLpath, ...)
> 2: library.dynam(lib, package, package.lib)
> 3: loadNamespace(package, lib.loc)
> 4: doTryCatch(return(expr), name, parentenv, handler)
> 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 6: tryCatchList(expr, classes, parentenv, handlers)
> 7: 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), do
> main = NA) else stop(msg, call. = FALSE, domain = NA)})
> 8: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return =
> TRUE)
> 9: withCallingHandlers(expr, packageStartupMessage = function(c)
> tryInvokeRestart("muffleMessage"))
> 10: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE))
> 11: doTryCatch(return(expr), name, parentenv, handler)
> 12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 13: tryCatchList(expr, classes, parentenv, handlers)
> 14: 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)[1L] prefix
> <- past
> e("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))})
> 15: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE)))
> 16: tools:::.test_load_package("arrow",
> "/work/R/x86_64-redhat-linux-gnu-library/4.0/00LOCK-arrow/00new")
> An irrecoverable exception occurred. R is aborting now ...
> ERROR: loading failed
> {code}
> R version info:
> {code:java}
> R version 4.0.4 (2021-02-15) -- "Lost Library Book"
> Copyright (C) 2021 The R Foundation for Statistical Computing
> Platform: x86_64-redhat-linux-gnu (64-bit)
> {code}
> Any thoughts on where to look? (I can only get arrow to work with the latest
> development version of R and not the release version of 4.0.4). Thanks.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)