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)