[ 
https://issues.apache.org/jira/browse/ARROW-6309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912724#comment-16912724
 ] 

Sutou Kouhei commented on ARROW-6309:
-------------------------------------

We need to use static linking only on Windows, right?
I've created a pull request for the change: 
https://github.com/apache/arrow/pull/5158

> [C++] Parquet tests and executables are linked statically
> ---------------------------------------------------------
>
>                 Key: ARROW-6309
>                 URL: https://issues.apache.org/jira/browse/ARROW-6309
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Antoine Pitrou
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.15.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> For some reason, on Linux Parquet tests are now statically linked with 
> {{libparquet}} and {{libarrow}} by default, even though other tests (Arrow, 
> Plasma...) are dynamically-linked.
> For example:
> {code}
> $ ldd build-test/debug/parquet-schema-test 
>       linux-vdso.so.1 (0x00007ffd376ad000)
>       libgtest_main.so => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libgtest_main.so 
> (0x00007f3affeaf000)
>       libgtest.so => /home/antoine/miniconda3/envs/pyarrow/lib/libgtest.so 
> (0x00007f3affde5000)
>       libbz2.so.1.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libbz2.so.1.0 (0x00007f3affdd1000)
>       liblz4.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/liblz4.so.1 
> (0x00007f3aff58d000)
>       libsnappy.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libsnappy.so.1 (0x00007f3aff384000)
>       libz.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/libz.so.1 
> (0x00007f3affdb1000)
>       libzstd.so.1.3.7 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libzstd.so.1.3.7 
> (0x00007f3affd0a000)
>       libboost_filesystem.so.1.67.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libboost_filesystem.so.1.67.0 
> (0x00007f3aff168000)
>       libstdc++.so.6 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libstdc++.so.6 (0x00007f3afeff4000)
>       libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3afec56000)
>       libgcc_s.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libgcc_s.so.1 (0x00007f3affcbb000)
>       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3afe865000)
>       libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
> (0x00007f3afe646000)
>       libboost_system.so.1.67.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./libboost_system.so.1.67.0 
> (0x00007f3afe441000)
>       librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3afe239000)
>       /lib64/ld-linux-x86-64.so.2 (0x00007f3affc8f000)
> {code}
> Contrast with e.g.:
> {code}
> $ ldd build-test/debug/arrow-uri-test 
>       linux-vdso.so.1 (0x00007ffe07fb6000)
>       libarrow.so.15 => 
> /home/antoine/arrow/dev/cpp/build-test/debug/libarrow.so.15 
> (0x00007f774f340000)
>       libboost_system.so.1.67.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libboost_system.so.1.67.0 
> (0x00007f774f13b000)
>       libgtest_main.so => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libgtest_main.so 
> (0x00007f7751723000)
>       libgtest.so => /home/antoine/miniconda3/envs/pyarrow/lib/libgtest.so 
> (0x00007f7751659000)
>       libstdc++.so.6 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libstdc++.so.6 (0x00007f774efc7000)
>       libgcc_s.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libgcc_s.so.1 (0x00007f7751645000)
>       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f774ebd6000)
>       libaws-cpp-sdk-s3.so => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libaws-cpp-sdk-s3.so 
> (0x00007f774e990000)
>       libaws-cpp-sdk-core.so => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libaws-cpp-sdk-core.so 
> (0x00007f774e893000)
>       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f774e68f000)
>       liburiparser.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/liburiparser.so.1 
> (0x00007f77515f2000)
>       libbz2.so.1.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libbz2.so.1.0 (0x00007f77515de000)
>       liblz4.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/liblz4.so.1 
> (0x00007f774e46b000)
>       libsnappy.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libsnappy.so.1 (0x00007f774e262000)
>       libz.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/libz.so.1 
> (0x00007f77515bc000)
>       libzstd.so.1.3.7 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libzstd.so.1.3.7 
> (0x00007f774e1bd000)
>       libboost_filesystem.so.1.67.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/libboost_filesystem.so.1.67.0 
> (0x00007f774dfa1000)
>       libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
> (0x00007f774dd82000)
>       libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f774d9e4000)
>       /lib64/ld-linux-x86-64.so.2 (0x00007f7751503000)
>       librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f774d7dc000)
>       libcurl.so.4 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./libcurl.so.4 (0x00007f7751534000)
>       libcrypto.so.1.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./libcrypto.so.1.1 
> (0x00007f774d512000)
>       libaws-c-event-stream.so.0unstable => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./libaws-c-event-stream.so.0unstable
>  (0x00007f775152b000)
>       libaws-c-common.so.0unstable => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./libaws-c-common.so.0unstable 
> (0x00007f774d4ef000)
>       libssh2.so.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libssh2.so.1 
> (0x00007f774d4bd000)
>       libssl.so.1.1 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libssl.so.1.1 
> (0x00007f774d42d000)
>       libgssapi_krb5.so.2 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libgssapi_krb5.so.2 
> (0x00007f774d3de000)
>       libkrb5.so.3 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libkrb5.so.3 
> (0x00007f774d302000)
>       libk5crypto.so.3 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libk5crypto.so.3 
> (0x00007f774d2e1000)
>       libcom_err.so.3 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libcom_err.so.3 
> (0x00007f774d2db000)
>       libaws-checksums.so => 
> /home/antoine/miniconda3/envs/pyarrow/lib/././libaws-checksums.so 
> (0x00007f774d2cd000)
>       libkrb5support.so.0 => 
> /home/antoine/miniconda3/envs/pyarrow/lib/./././libkrb5support.so.0 
> (0x00007f774d2be000)
>       libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 
> (0x00007f774d0a3000)
> {code}
> Static linking makes building slower and the test executables larger.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to