assignUser commented on PR #43353:
URL: https://github.com/apache/arrow/pull/43353#issuecomment-2246653657

   @kou I found another issue, with some of our dependencies if both .a and .so 
are on the system and pkg-config is found it will use the shared version 
regardless of `ARROW_DEPENDENCY_USE_SHARED=OFF` e.g. here lz4 
https://github.com/ursacomputing/crossbow/actions/runs/10067703232/job/27831692754#step:9:352
   
   This is the lz4 pc file and it looks like it's not made to be linked 
statically (if cmake even pass `--static`) if both libs are installed:
   ```
   prefix=/usr
   libdir=/usr/lib
   includedir=/usr/include
   
   Name: lz4
   Description: extremely fast lossless compression algorithm library
   URL: http://www.lz4.org/
   Version: 1.9.2
   Libs: -L/usr/lib -llz4
   Cflags: -I/usr/include
   ```
   
   `ARROW_DEPENDENCY_USE_SHARED=OFF` is def. the right setting for the libarrow 
R build and this actually shows an issue. This happens now because the R 
package is not using pc as intended but libarrow still is. And in the non-pc 
code path we only add `-llibarrow_bundled_dependencies.a` and not `-llz4` or 
any other deps.
   
   I am not to familiar with the cmake pc module, is there away to enforce use 
of static libs? Or do we  have to check that manually somehow?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to