[ 
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:39 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".

I've done some basic sanity checks with the compiled C++ libraries by running 
some test C++ code with them, e.g. reading a parquet file etc and that works 
fine.

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`,  `make` and the install of the "arrow" 
package from R.

 


was (Author: dr.r...@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".

I've done some basic sanity checks with the compiled C++ libraries by running 
some test C++ code with them, e.g. reading a parquet file etc and that works 
fine.

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`.

 

> 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, 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)

Reply via email to