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