You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Michael Chirico (JIRA)" <ji...@apache.org> on 2019/08/08 07:14:00 UTC

[jira] [Created] (ARROW-6169) A bit confused by arrow::install_arrow() inR

Michael Chirico created ARROW-6169:
--------------------------------------

             Summary: A bit confused by arrow::install_arrow() inR
                 Key: ARROW-6169
                 URL: https://issues.apache.org/jira/browse/ARROW-6169
             Project: Apache Arrow
          Issue Type: Improvement
          Components: R
            Reporter: Michael Chirico


Am trying to get up and running on arrow from R for the first time (macOS Mojave 10.14.6)

Started with
{code:java}
install.packages('arrow') #success!
write_parquet(iris, 'tmp.parquet') #oh no!{code}
and hit the error:

> Error in Table__from_dots(dots, schema) : Cannot call Table__from_dots(). Please use arrow::install_arrow() to install required runtime libraries. 

OK, easy enough:
{code:java}
arrow::install_arrow() 
{code}
With output:
{code:java}
You may be able to get a development version of the Arrow C++ library using Homebrew: `brew install apache-arrow --HEAD` Or, see the Arrow C++ developer guide <https://arrow.apache.org/docs/developers/cpp.html> for instructions on building the library from source.

After you've installed the C++ library, you'll need to reinstall the R package from source to find it.

Refer to the R package README <https://github.com/apache/arrow/blob/master/r/README.md> for further details.

If you have other trouble, or if you think this message could be improved, please report an issue here: <https://issues.apache.org/jira/projects/ARROW/issues>
{code}
A few points of confusion for me as a first time user:

A bit surprised I'm being directed to install the development version? If the current CRAN version of {{arrow}} is only compatible with the dev version, I guess that could be made more clear in this message. But on the other hand, the linked GH README suggests the opposite: "On macOS and Windows, installing a binary package from CRAN will handle Arrow’s C++ dependencies for you." However, that doesn't appear to have been the case for me.

Oh well, let's just try installing the normal version & see if that works:
{code:java}
$brew install apache-arrow
>install.packages('arrow') #reinstall in fresh session
>arrow::write_parquet(iris, 'tmp.parquet') # same error{code}
Now I try the dev version:
{code:java}
brew install apache-arrow --HEAD
# Error: apache-arrow 0.14.1 is already installed
# To install HEAD, first run `brew unlink apache-arrow`.
brew unlink apache-arrow
brew install apache-arrow --HEAD
# Error: An exception occurred within a child process:
# RuntimeError: /usr/local/opt/autoconf not present or broken
# Please reinstall autoconf. Sorry :(
brew install autoconf
brew install apache-arrow --HEAD
# Error: An exception occurred within a child process:
# RuntimeError: /usr/local/opt/cmake not present or broken
# Please reinstall cmake. Sorry :(
brew install cmake
brew install apache-arrow --HEAD
# cmake ../cpp -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/apache-arrow/HEAD-908b058 -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFIL
# Last 15 lines from /Users/michael.chirico/Library/Logs/Homebrew/apache-arrow/01.cmake:
# dlopen(/usr/local/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-darwin.so,
# 2): Symbol not found: ___addtf3
# Referenced from: /usr/local/opt/gcc/lib/gcc/9/libquadmath.0.dylib
# Expected in: /usr/lib/libSystem.B.dylib
# in /usr/local/opt/gcc/lib/gcc/9/libquadmath.0.dylib
# Call Stack (most recent call first):
# src/arrow/python/CMakeLists.txt:23 (find_package){code}
Poked around a bit about that arrow and what I see suggests re-installing {{scipy}} but that didn't work ({{pip install scipy}} nor {{pip3 install scipy}}, though the traceback does suggest it's a Python 3 thing)

So now I'm stuck & not sure how to proceed.

I'll also add that I'm not sure what to make of this:

> After you've installed the C++ library, you'll need to reinstall the R package from source to find it.

What is "find it" referring to exactly? And installing from source here means {{R CMD build && R CMD INSTALL}} on the cloned repo?



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)