You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2019/08/21 14:28:00 UTC

[jira] [Comment Edited] (ARROW-6309) [C++] Parquet tests and executables are linked statically

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

Wes McKinney edited comment on ARROW-6309 at 8/21/19 2:27 PM:
--------------------------------------------------------------

Well https://github.com/apache/arrow/blob/master/cpp/src/parquet/CMakeLists.txt#L327. Remember that there are Thrift symbol issues

I think that the utilities have been statically linked also for a long time. 


was (Author: wesmckinn):
Well https://github.com/apache/arrow/blob/master/cpp/src/parquet/CMakeLists.txt#L327

I think that the utilities have been statically linked also for a long time. 

> [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
>
> 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)