[
https://issues.apache.org/jira/browse/ARROW-9602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17170094#comment-17170094
]
Matt Pollock edited comment on ARROW-9602 at 8/3/20, 3:22 PM:
--------------------------------------------------------------
Another potentially useful tidbit: after {{sudo yum remove arrow-devel}} to
force {{install.packages("arrow")}} to compile arrow from source I get the
following message (or note) about needing to run {{install_arrow()}} later on.
{code:java}
> install.packages("arrow")
Installing package into ‘/my/package/repo/R/centos7/4.0’
(as ‘lib’ is unspecified)
trying URL
'https://artifacts.our.mirror.org/cran/src/contrib/arrow_1.0.0.tar.gz'
Content type 'application/x-gzip' length 274139 bytes (267 KB)
==================================================
downloaded 267 KB
* installing *source* package ‘arrow’ ...
** package ‘arrow’ successfully unpacked and MD5 sums checked
** using staged installation
*** Successfully retrieved C++ source
*** Building C++ libraries
**** arrow
------------------------- NOTE ---------------------------
After installation, please run arrow::install_arrow()
for help installing required runtime libraries
---------------------------------------------------------
{code}
However, immediately after this note I see that the C++ source is being
compiled, e.g.,
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11
-I"/opt/R/4.0.0/lib/R/include" -DNDEBUG
-I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include -fpic -g
-O2 -c array.cpp -o array.o
{code}
After an apparent successful compilation and installation (of the R package)
{{arrow_available()}} returns false. If I follow the advice of the note I see
more compilation messages of the same flavor as above with the main difference
(so far as I can tell) being the presence of {{-DARROW_R_WITH_ARROW}}
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11
-I"/opt/R/4.0.0/lib/R/include" -DNDEBUG
-I/tmp/Rtmpq1bAon/R.INSTALL57335ab235d1/arrow/libarrow/arrow-1.0.0/include
-DARROW_R_WITH_ARROW -I'/opt/R/4.0.0/lib/R/library/Rcpp/include'
-I/usr/local/include -fpic -g -O2 -c array.cpp -o array.o{code}
After this {{arrow_available()}} returns true but {{write_parquet(iris,
tempfile())}} still causes a segfault
was (Author: mpollock):
Another potentially useful tidbit: after {{sudo yum remove arrow-devel}} to
force {{install.packages("arrow")}} to compile arrow from source I get the
following message (or note) about needing to run {{install_arrow()}} later on.
{code:java}
> install.packages("arrow")
Installing package into ‘/devel/r-user-packages/mpollock/R/centos7/4.0’
(as ‘lib’ is unspecified)
trying URL
'https://artifacts.mitre.org/artifactory/cran/src/contrib/arrow_1.0.0.tar.gz'
Content type 'application/x-gzip' length 274139 bytes (267 KB)
==================================================
downloaded 267 KB
* installing *source* package ‘arrow’ ...
** package ‘arrow’ successfully unpacked and MD5 sums checked
** using staged installation
*** Successfully retrieved C++ source
*** Building C++ libraries
**** arrow
------------------------- NOTE ---------------------------
After installation, please run arrow::install_arrow()
for help installing required runtime libraries
---------------------------------------------------------
{code}
However, immediately after this note I see that the C++ source is being
compiled, e.g.,
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11
-I"/opt/R/4.0.0/lib/R/include" -DNDEBUG
-I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include -fpic -g
-O2 -c array.cpp -o array.o
{code}
After an apparent successful compilation and installation (of the R package)
{{arrow_available()}} returns false. If I follow the advice of the note I see
more compilation messages of the same flavor as above with the main difference
(so far as I can tell) being the presence of {{-DARROW_R_WITH_ARROW}}
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11
-I"/opt/R/4.0.0/lib/R/include" -DNDEBUG
-I/tmp/Rtmpq1bAon/R.INSTALL57335ab235d1/arrow/libarrow/arrow-1.0.0/include
-DARROW_R_WITH_ARROW -I'/opt/R/4.0.0/lib/R/library/Rcpp/include'
-I/usr/local/include -fpic -g -O2 -c array.cpp -o array.o{code}
After this {{arrow_available()}} returns true but {{write_parquet(iris,
tempfile())}} still causes a segfault
> [R] segfault on Table$create(iris)
> ----------------------------------
>
> Key: ARROW-9602
> URL: https://issues.apache.org/jira/browse/ARROW-9602
> Project: Apache Arrow
> Issue Type: Bug
> Components: R
> Affects Versions: 1.0.0
> Reporter: Matt Pollock
> Priority: Major
>
>
> {code:java}
> > arrow::write_parquet(iris, "~/iris")
> *** caught segfault ***
> address (nil), cause 'memory not mapped' Traceback: 1: Table__from_dots(dots,
> schema) 2: shared_ptr_is_null(xp) 3: shared_ptr(Table, Table__from_dots(dots,
> schema)) 4: Table$create(x) 5: arrow::write_parquet(iris, "~/iris")
> {code}
> The segfault is easy to generate trying to write iris data to parquet. I have
> tried R 4.0.0 and R 4.0.2, I've installed the arrow (R) package from CRAN,
> source, nightly build, both with and without using the system arrow C++
> installation. When using system arrow the installed version is:
> {noformat}
> Installed Packages
> Name : arrow-devel
> Arch : x86_64
> Version : 1.0.0
> Release : 1.el7
> Size : 32 M
> Repo : installed
> From repo : apache-arrow
> Summary : Libraries and header files for Apache Arrow C++
> URL : https://arrow.apache.org/
> License : Apache-2.0
> Description : Libraries and header files for Apache Arrow C++.
> {noformat}
> I realize that this is so basic that it seems improbable that your CI didn't
> catch something (i.e., that the issue has to do with my local environment)
> but would appreciate verification that version 1.0 works for others on centOS7
--
This message was sent by Atlassian Jira
(v8.3.4#803005)