You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Ahmed Riza (Jira)" <ji...@apache.org> on 2021/03/16 23:31:00 UTC
[jira] [Comment Edited] (ARROW-11963) Arrow installation issue with
R 4.0.4 on Fedora 33
[ https://issues.apache.org/jira/browse/ARROW-11963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302971#comment-17302971 ]
Ahmed Riza edited comment on ARROW-11963 at 3/16/21, 11:30 PM:
---------------------------------------------------------------
[~npr], here's how I built the C++ libraries after downloading the release tar ball from [https://www.mirrorservice.org/sites/ftp.apache.org/arrow/arrow-3.0.0/apache-arrow-3.0.0.tar.gz,] and extracting it:
{code:java}
cd /work/apache-arrow-3.0.0/cpp
mkdir build
cd build
cmake -DARROW_COMPUTE=ON -DARROW_CSV=ON -DARROW_DATASET=ON -DARROW_FILESYSTEM=ON -DARROW_JEMALLOC=ON -DARROW_JSON=ON -DARROW_PARQUET=ON -DCMAKE_BUILD_TYPE=release -DARROW_INSTALL_NAME_RPATH=OFF -DARROW_HDFS=ON -DARROW_S3=ON -DARROW_PYTHON=OFF -DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_EXTRA_ERROR_CONTEXT=ON ..
sudo make install{code}
This installs the headers and libraries to "/usr/local/include/arrow" and "/usr/local/lib64".
The reason I compiled the C++ libraries myself is because the attempt to install "arrow" did not succeed entirely. The `install.package("arrow")` seemed to do the right thing, but then when I try to use any of the "arrow" functions from R I ran into the error shown below:
{code:java}
> library(arrow)
Attaching package: ‘arrow’
The following object is masked from ‘package:utils’:
timestamp
> df <- read_parquet("/tmp/small.parquet")
Error in io___MemoryMappedFile__Open(path, mode) :
Cannot call io___MemoryMappedFile__Open(). See https://arrow.apache.org/docs/r/articles/install.html for help installing Arrow C++ libraries.
>
{code}
Attached the output from `cmake` and `make`.
was (Author: dr.riza@gmail.com):
[~npr], here's how I built the C++ libraries after downloading the release tar ball from [https://www.mirrorservice.org/sites/ftp.apache.org/arrow/arrow-3.0.0/apache-arrow-3.0.0.tar.gz,] and extracting it:
{code:java}
cd /work/apache-arrow-3.0.0/cpp
mkdir build
cd build
cmake -DARROW_COMPUTE=ON -DARROW_CSV=ON -DARROW_DATASET=ON -DARROW_FILESYSTEM=ON -DARROW_JEMALLOC=ON -DARROW_JSON=ON -DARROW_PARQUET=ON -DCMAKE_BUILD_TYPE=release -DARROW_INSTALL_NAME_RPATH=OFF -DARROW_HDFS=ON -DARROW_S3=ON -DARROW_PYTHON=OFF -DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_EXTRA_ERROR_CONTEXT=ON ..
sudo make install{code}
This installs the headers and libraries to "/usr/local/include/arrow" and "/usr/local/lib64".
The reason I compiled the C++ libraries myself is because the attempt to install "arrow" did not succeed entirely. The `install.package("arrow")` seemed to do the right thing, but then when I try to use any of the "arrow" functions from R I ran into the error shown below:
{code:java}
> library(arrow)
Attaching package: ‘arrow’
The following object is masked from ‘package:utils’:
timestamp
> df <- read_parquet("/tmp/small.parquet")
Error in io___MemoryMappedFile__Open(path, mode) :
Cannot call io___MemoryMappedFile__Open(). See https://arrow.apache.org/docs/r/articles/install.html for help installing Arrow C++ libraries.
>
{code}
> 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: cmake.log
>
>
> 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)