[ 
https://issues.apache.org/jira/browse/ARROW-11460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nic Crane reassigned ARROW-11460:
---------------------------------

    Assignee: Nic Crane

> [R] Use system libraries if present on Linux
> --------------------------------------------
>
>                 Key: ARROW-11460
>                 URL: https://issues.apache.org/jira/browse/ARROW-11460
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: R
>            Reporter: Neal Richardson
>            Assignee: Nic Crane
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> We currently vendor/bundle all compression libraries and have them disabled 
> in the default build. This is reliable, but it would be nice to use system 
> libraries if they're present. 
> It's not as simple as setting {{ARROW_DEPENDENCY_SOURCE=AUTO}} because we 
> have to know if we're using them in order to set the right `-lwhatever` flags 
> in the R package build (see ARROW-9303 for what happens if you don't). 
> ARROW-6312 should now track everything we need in the *.pc files, so if we 
> can get that information in our arrow C++ build, we should be able to use 
> AUTO.
> Steps/tasks:
> * Make ARROW_DEPENDENCY_SOURCE configurable by env var in 
> build_arrow_static.sh but don't change the default (we want this to be opt-in 
> for this release, can change the default for the next release)
> * If ARROW_DEPENDENCY_SOURCE=AUTO, we'll need to get the -l flags from the 
> build. The *right* way is with pkg-config (as Kou showed), so if we want to 
> use it, we'll have to check that pkg-config is installed before allowing 
> AUTO. Then after doing the C++ build, call pkg-config on the install 
> directory to set the PKG_LIBS. This probably needs to be done from 
> r/configure because that's where that env var is set. Alternatively, we could 
> try to grep/sed it from the *.pc files.
> * Make sure we have CI that tests both the AUTO and BUNDLED paths.
> * Possibly add the change Kou suggested at 
> https://github.com/apache/arrow/pull/10404#issuecomment-871034191 to handle 
> the case where libs were built outside the R package installation (though we 
> should doublecheck what {{--static}} does, we don't want this to only work 
> for a static Arrow C++ build, this should also work for shared libraries here)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to